aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/mcde/mcde_hw.c
diff options
context:
space:
mode:
authorPer Persson <per.xb.persson@stericsson.com>2010-12-21 14:11:53 +0100
committerSrinidhi KASAGAR <srinidhi.kasagar@stericsson.com>2010-12-23 05:34:42 +0100
commit159bcbc2050107b49195f9ddc642f9d55b612283 (patch)
tree6692d0a935e82e054eb3f6196029bbf62ad59bf2 /drivers/video/mcde/mcde_hw.c
parentcfb360819ab74a61dc412e4a25fd094ddc3591d4 (diff)
video: av8100/mcde: Add runtime HDMI/TVout switch
Possible to switch between HDMI and SDTV(analogue TVout) in runtime. Switching is done by writing to a sysfs file. ST-Ericsson ID: AP282256 Change-Id: I1e6d5a9654fe145b4d613f17aca7ade048b887b6 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/11588 Tested-by: Per PERSSON <per.xb.persson@stericsson.com> Reviewed-by: QATOOLS Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
Diffstat (limited to 'drivers/video/mcde/mcde_hw.c')
-rw-r--r--drivers/video/mcde/mcde_hw.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/video/mcde/mcde_hw.c b/drivers/video/mcde/mcde_hw.c
index 794862b7a5f..7d31b8ac14a 100644
--- a/drivers/video/mcde/mcde_hw.c
+++ b/drivers/video/mcde/mcde_hw.c
@@ -1472,16 +1472,17 @@ static void update_overlay_registers(u8 idx, struct ovly_regs *regs,
}
fifo_size = get_output_fifo_size(fifo);
-#ifdef CONFIG_AV8100_SDTV
- /* TODO: check if these watermark levels work for HDMI as well. */
- pixelfetchwtrmrklevel = MCDE_PIXFETCH_SMALL_WTRMRKLVL;
-#else
- if ((fifo == MCDE_FIFO_A || fifo == MCDE_FIFO_B) &&
- regs->ppl >= fifo_size * 2)
- pixelfetchwtrmrklevel = MCDE_PIXFETCH_LARGE_WTRMRKLVL;
- else
- pixelfetchwtrmrklevel = MCDE_PIXFETCH_MEDIUM_WTRMRKLVL;
-#endif /* CONFIG_AV8100_SDTV */
+
+ if (port->hdmi_sdtv_switch == SDTV_SWITCH)
+ /* TODO: check if these wtrmrk levels work for HDMI as well. */
+ pixelfetchwtrmrklevel = MCDE_PIXFETCH_SMALL_WTRMRKLVL;
+ else {
+ if ((fifo == MCDE_FIFO_A || fifo == MCDE_FIFO_B) &&
+ regs->ppl >= fifo_size * 2)
+ pixelfetchwtrmrklevel = MCDE_PIXFETCH_LARGE_WTRMRKLVL;
+ else
+ pixelfetchwtrmrklevel = MCDE_PIXFETCH_MEDIUM_WTRMRKLVL;
+ }
if (regs->reset_buf_id) {
u32 sel_mod = MCDE_EXTSRC0CR_SEL_MOD_SOFTWARE_SEL;