summaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/venc.c
diff options
context:
space:
mode:
authorArchit Taneja2012-04-16 09:23:43 +0200
committerTomi Valkeinen2012-04-23 09:48:10 +0200
commitc51d921a0cd83ecc768de7176bc7b7c2d76db278 (patch)
treee2d121eb789e626c56e5f4502e0f094ec289ace7 /drivers/video/omap2/dss/venc.c
parentOMAPDSS: DISPC/RFBI: Use dispc_mgr_set_lcd_timings() for setting lcd size (diff)
downloadkernel-qcow2-linux-c51d921a0cd83ecc768de7176bc7b7c2d76db278.tar.gz
kernel-qcow2-linux-c51d921a0cd83ecc768de7176bc7b7c2d76db278.tar.xz
kernel-qcow2-linux-c51d921a0cd83ecc768de7176bc7b7c2d76db278.zip
OMAPDSS: DISPC: Use a common function to set manager timings
Currently, a LCD manager's timings is set by dispc_mgr_set_lcd_timings() and TV manager's timings is set by dispc_set_digit_size(). Use a common function called dispc_mgr_set_timings() which sets timings for both type of managers. We finally want the interface drivers to use an overlay manager function to configure it's timings, having a common DISPC function would make things cleaner. For LCD managers, dispc_mgr_set_timings() sets LCD size and blanking values, for TV manager, it sets only the TV size since blanking values don't exist for TV. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/venc.c')
-rw-r--r--drivers/video/omap2/dss/venc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
index 13a20da8ea91..30bbb63421b9 100644
--- a/drivers/video/omap2/dss/venc.c
+++ b/drivers/video/omap2/dss/venc.c
@@ -421,6 +421,7 @@ static int venc_power_on(struct omap_dss_device *dssdev)
{
u32 l;
int r;
+ struct omap_video_timings timings;
venc_reset();
venc_write_config(venc_timings_to_config(&dssdev->panel.timings));
@@ -440,8 +441,10 @@ static int venc_power_on(struct omap_dss_device *dssdev)
venc_write_reg(VENC_OUTPUT_CONTROL, l);
- dispc_set_digit_size(dssdev->panel.timings.x_res,
- dssdev->panel.timings.y_res/2);
+ timings = dssdev->panel.timings;
+ timings.y_res /= 2;
+
+ dispc_mgr_set_timings(dssdev->manager->id, &timings);
r = regulator_enable(venc.vdda_dac_reg);
if (r)