提交 41721163 编写于 作者: A Archit Taneja 提交者: Tomi Valkeinen

OMAPDSS: Apply manager timings instead of direct DISPC writes

Replace the function dispc_mgr_set_timings() with dss_mgr_set_timings() in the
interface drivers. The latter function ensures that the timing related DISPC
registers are configured according to the shadow register programming model.

Remove the call to dispc_mgr_go() in dpi_set_timings() as the manager's go bit
is set by dss_mgr_set_timings().
Signed-off-by: NArchit Taneja <archit@ti.com>
上级 45324a26
...@@ -156,7 +156,7 @@ static int dpi_set_mode(struct omap_dss_device *dssdev) ...@@ -156,7 +156,7 @@ static int dpi_set_mode(struct omap_dss_device *dssdev)
t->pixel_clock = pck; t->pixel_clock = pck;
} }
dispc_mgr_set_timings(dssdev->manager->id, t); dss_mgr_set_timings(dssdev->manager, t);
return 0; return 0;
} }
...@@ -294,7 +294,6 @@ void dpi_set_timings(struct omap_dss_device *dssdev, ...@@ -294,7 +294,6 @@ void dpi_set_timings(struct omap_dss_device *dssdev,
} }
dpi_set_mode(dssdev); dpi_set_mode(dssdev);
dispc_mgr_go(dssdev->manager->id);
dispc_runtime_put(); dispc_runtime_put();
dss_runtime_put(); dss_runtime_put();
......
...@@ -4215,13 +4215,12 @@ static int dsi_display_init_dispc(struct omap_dss_device *dssdev) ...@@ -4215,13 +4215,12 @@ static int dsi_display_init_dispc(struct omap_dss_device *dssdev)
dispc_mgr_enable_stallmode(dssdev->manager->id, true); dispc_mgr_enable_stallmode(dssdev->manager->id, true);
dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 1); dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 1);
dispc_mgr_set_timings(dssdev->manager->id, &timings); dss_mgr_set_timings(dssdev->manager, &timings);
} else { } else {
dispc_mgr_enable_stallmode(dssdev->manager->id, false); dispc_mgr_enable_stallmode(dssdev->manager->id, false);
dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 0); dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 0);
dispc_mgr_set_timings(dssdev->manager->id, dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);
&dssdev->panel.timings);
} }
dispc_mgr_set_lcd_display_type(dssdev->manager->id, dispc_mgr_set_lcd_display_type(dssdev->manager->id,
......
...@@ -376,7 +376,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev) ...@@ -376,7 +376,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
dispc_enable_gamma_table(0); dispc_enable_gamma_table(0);
/* tv size */ /* tv size */
dispc_mgr_set_timings(dssdev->manager->id, &dssdev->panel.timings); dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);
hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 1); hdmi.ip_data.ops->video_enable(&hdmi.ip_data, 1);
......
...@@ -320,7 +320,7 @@ static void rfbi_transfer_area(struct omap_dss_device *dssdev, u16 width, ...@@ -320,7 +320,7 @@ static void rfbi_transfer_area(struct omap_dss_device *dssdev, u16 width,
DSSDBG("rfbi_transfer_area %dx%d\n", width, height); DSSDBG("rfbi_transfer_area %dx%d\n", width, height);
dispc_mgr_set_timings(dssdev->manager->id, &timings); dss_mgr_set_timings(dssdev->manager, &timings);
dispc_mgr_enable(dssdev->manager->id, true); dispc_mgr_enable(dssdev->manager->id, true);
...@@ -804,7 +804,7 @@ int omap_rfbi_prepare_update(struct omap_dss_device *dssdev, ...@@ -804,7 +804,7 @@ int omap_rfbi_prepare_update(struct omap_dss_device *dssdev,
if (*w == 0 || *h == 0) if (*w == 0 || *h == 0)
return -EINVAL; return -EINVAL;
dispc_mgr_set_timings(dssdev->manager->id, &timings); dss_mgr_set_timings(dssdev->manager, &timings);
return 0; return 0;
} }
......
...@@ -107,7 +107,7 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev) ...@@ -107,7 +107,7 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
} }
dispc_mgr_set_timings(dssdev->manager->id, t); dss_mgr_set_timings(dssdev->manager, t);
r = dss_set_clock_div(&dss_cinfo); r = dss_set_clock_div(&dss_cinfo);
if (r) if (r)
......
...@@ -444,7 +444,7 @@ static int venc_power_on(struct omap_dss_device *dssdev) ...@@ -444,7 +444,7 @@ static int venc_power_on(struct omap_dss_device *dssdev)
timings = dssdev->panel.timings; timings = dssdev->panel.timings;
timings.y_res /= 2; timings.y_res /= 2;
dispc_mgr_set_timings(dssdev->manager->id, &timings); dss_mgr_set_timings(dssdev->manager, &timings);
r = regulator_enable(venc.vdda_dac_reg); r = regulator_enable(venc.vdda_dac_reg);
if (r) if (r)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册