Commit 32eaa584 authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAPDSS: add ovl/mgr_manual_update() helpers

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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 550a8f64
...@@ -538,7 +538,15 @@ static struct { ...@@ -538,7 +538,15 @@ static struct {
bool irq_enabled; bool irq_enabled;
} dss_cache; } 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, static int omap_dss_set_device(struct omap_overlay_manager *mgr,
struct omap_dss_device *dssdev) struct omap_dss_device *dssdev)
...@@ -627,7 +635,7 @@ static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr) ...@@ -627,7 +635,7 @@ static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr)
if (!dssdev || dssdev->state != OMAP_DSS_DISPLAY_ACTIVE) if (!dssdev || dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
return 0; return 0;
if (dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) if (mgr_manual_update(mgr))
return 0; return 0;
if (dssdev->type == OMAP_DISPLAY_TYPE_VENC if (dssdev->type == OMAP_DISPLAY_TYPE_VENC
...@@ -696,7 +704,7 @@ int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl) ...@@ -696,7 +704,7 @@ int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl)
if (!dssdev || dssdev->state != OMAP_DSS_DISPLAY_ACTIVE) if (!dssdev || dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
return 0; return 0;
if (dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) if (ovl_manual_update(ovl))
return 0; return 0;
if (dssdev->type == OMAP_DISPLAY_TYPE_VENC if (dssdev->type == OMAP_DISPLAY_TYPE_VENC
...@@ -1047,8 +1055,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr) ...@@ -1047,8 +1055,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
/* Configure managers */ /* Configure managers */
list_for_each_entry(mgr, &manager_list, list) { list_for_each_entry(mgr, &manager_list, list) {
struct omap_dss_device *dssdev;
mc = &dss_cache.manager_cache[mgr->id]; mc = &dss_cache.manager_cache[mgr->id];
if (mgr->device_changed) { if (mgr->device_changed) {
...@@ -1062,14 +1068,11 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr) ...@@ -1062,14 +1068,11 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
if (!mgr->device) if (!mgr->device)
continue; continue;
dssdev = mgr->device;
mgr->info_dirty = false; mgr->info_dirty = false;
mc->dirty = true; mc->dirty = true;
mc->info = mgr->info; mc->info = mgr->info;
mc->manual_update = mc->manual_update = mgr_manual_update(mgr);
dssdev->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
} }
/* Configure overlay fifos */ /* Configure overlay fifos */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment