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