OMAPDSS: Apply manager timings instead of direct DISPC writes
authorArchit Taneja <archit@ti.com>
Thu, 26 Apr 2012 14:40:46 +0000 (20:10 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 9 May 2012 10:44:06 +0000 (13:44 +0300)
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>
drivers/video/omap2/dss/dpi.c
drivers/video/omap2/dss/dsi.c
drivers/video/omap2/dss/hdmi.c
drivers/video/omap2/dss/rfbi.c
drivers/video/omap2/dss/sdi.c
drivers/video/omap2/dss/venc.c

index cec1166843650b721d9c5c8507495899478ddc59..e65cf1f9a69449d319058d3a3c742798a2e67f1d 100644 (file)
@@ -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;
 }
@@ -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();
index 6c4b034d76856e4ff3e387d2b2b7caf33e4d4106..95bc9964ab9ce1d06c07d0b8dd1cfeeb95867fa1 100644 (file)
@@ -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,
index 56f6e9ce126f0ef8ca4d4662c0df5a17d50ef66a..8d4ff8c3d31832aa21e0a514e51ee2e8a5c0079d 100644 (file)
@@ -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);
 
index a81ffcbfa68a04c11ec834a782e7058cc1359594..feadfab27ec2500de3249d818b9b2800a3d4e69d 100644 (file)
@@ -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);
 
@@ -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;
 }
index 741b8341439f9c039e48f2509fc9835041c3f212..67fbe7cee412b40eaee1eca8e7540a1a1e1ab920 100644 (file)
@@ -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)
index 30bbb63421b92265f82a0c952b27384263ed0284..e2374645a44243dc44be4bce48f584c765838f11 100644 (file)
@@ -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)