OMAPDSS: add ovl/mgr_manual_update() helpers
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 4 Nov 2011 07:04:15 +0000 (09:04 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 2 Dec 2011 06:54:29 +0000 (08:54 +0200)
Add helper functions ovl_manual_update() and mgr_manual_update() which
return whether the overlay or manager is used with a manual update
display.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/manager.c

index 3421955c63bb6cfc64d88dfb48789a4935bdc4bc..8423cf85f6828f7e8aae241a781823c998944975 100644 (file)
@@ -538,7 +538,15 @@ static struct {
        bool irq_enabled;
 } dss_cache;
 
+static bool ovl_manual_update(struct omap_overlay *ovl)
+{
+       return ovl->manager->device->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
+}
 
+static bool mgr_manual_update(struct omap_overlay_manager *mgr)
+{
+       return mgr->device->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
+}
 
 static int omap_dss_set_device(struct omap_overlay_manager *mgr,
                struct omap_dss_device *dssdev)
@@ -627,7 +635,7 @@ static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr)
        if (!dssdev || dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
                return 0;
 
-       if (dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE)
+       if (mgr_manual_update(mgr))
                return 0;
 
        if (dssdev->type == OMAP_DISPLAY_TYPE_VENC
@@ -696,7 +704,7 @@ int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl)
        if (!dssdev || dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
                return 0;
 
-       if (dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE)
+       if (ovl_manual_update(ovl))
                return 0;
 
        if (dssdev->type == OMAP_DISPLAY_TYPE_VENC
@@ -1047,8 +1055,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
 
        /* Configure managers */
        list_for_each_entry(mgr, &manager_list, list) {
-               struct omap_dss_device *dssdev;
-
                mc = &dss_cache.manager_cache[mgr->id];
 
                if (mgr->device_changed) {
@@ -1062,14 +1068,11 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
                if (!mgr->device)
                        continue;
 
-               dssdev = mgr->device;
-
                mgr->info_dirty = false;
                mc->dirty = true;
                mc->info = mgr->info;
 
-               mc->manual_update =
-                       dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
+               mc->manual_update = mgr_manual_update(mgr);
        }
 
        /* Configure overlay fifos */