Skip to content

Commit

Permalink
OMAPDSS: Apply manager timings instead of direct DISPC writes
Browse files Browse the repository at this point in the history
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: Archit Taneja <archit@ti.com>
  • Loading branch information
Archit Taneja authored and Tomi Valkeinen committed May 9, 2012
1 parent 45324a2 commit 4172116
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 10 deletions.
3 changes: 1 addition & 2 deletions drivers/video/omap2/dss/dpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ static int dpi_set_mode(struct omap_dss_device *dssdev)
t->pixel_clock = pck;
}

dispc_mgr_set_timings(dssdev->manager->id, t);
dss_mgr_set_timings(dssdev->manager, t);

return 0;
}
Expand Down Expand Up @@ -294,7 +294,6 @@ void dpi_set_timings(struct omap_dss_device *dssdev,
}

dpi_set_mode(dssdev);
dispc_mgr_go(dssdev->manager->id);

dispc_runtime_put();
dss_runtime_put();
Expand Down
5 changes: 2 additions & 3 deletions drivers/video/omap2/dss/dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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_fifohandcheck(dssdev->manager->id, 1);

dispc_mgr_set_timings(dssdev->manager->id, &timings);
dss_mgr_set_timings(dssdev->manager, &timings);
} else {
dispc_mgr_enable_stallmode(dssdev->manager->id, false);
dispc_mgr_enable_fifohandcheck(dssdev->manager->id, 0);

dispc_mgr_set_timings(dssdev->manager->id,
&dssdev->panel.timings);
dss_mgr_set_timings(dssdev->manager, &dssdev->panel.timings);
}

dispc_mgr_set_lcd_display_type(dssdev->manager->id,
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/omap2/dss/hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ static int hdmi_power_on(struct omap_dss_device *dssdev)
dispc_enable_gamma_table(0);

/* 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);

Expand Down
4 changes: 2 additions & 2 deletions drivers/video/omap2/dss/rfbi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

dispc_mgr_set_timings(dssdev->manager->id, &timings);
dss_mgr_set_timings(dssdev->manager, &timings);

dispc_mgr_enable(dssdev->manager->id, true);

Expand Down Expand Up @@ -804,7 +804,7 @@ int omap_rfbi_prepare_update(struct omap_dss_device *dssdev,
if (*w == 0 || *h == 0)
return -EINVAL;

dispc_mgr_set_timings(dssdev->manager->id, &timings);
dss_mgr_set_timings(dssdev->manager, &timings);

return 0;
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/omap2/dss/sdi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
if (r)
Expand Down
2 changes: 1 addition & 1 deletion drivers/video/omap2/dss/venc.c
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ static int venc_power_on(struct omap_dss_device *dssdev)
timings = dssdev->panel.timings;
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);
if (r)
Expand Down

0 comments on commit 4172116

Please sign in to comment.