diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-11-03 15:52:06 +0100 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-12-02 07:54:25 +0100 |
commit | 3ba2a1c01546a4980e7b7742445560ae4afd1fc1 (patch) | |
tree | c55d112b11b62e05e1a7923c6b2709c667c18544 | |
parent | OMAPDSS: DISPC: handle 0 out_width/out_height in ovl_setup() (diff) | |
download | linux-3ba2a1c01546a4980e7b7742445560ae4afd1fc1.tar.xz linux-3ba2a1c01546a4980e7b7742445560ae4afd1fc1.zip |
OMAPDSS: handle ilace/replication when configuring overlay
Move the configuration of interlace and replication from
omap_dss_mgr_apply() to configure_overlay(). This removes the need to
store the values into the cache data.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r-- | drivers/video/omap2/dss/manager.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c index 268704bc6c39..d8d0d11d95d9 100644 --- a/drivers/video/omap2/dss/manager.c +++ b/drivers/video/omap2/dss/manager.c @@ -510,8 +510,6 @@ struct overlay_cache_data { struct omap_overlay_info info; enum omap_channel channel; - bool replication; - bool ilace; u32 fifo_low; u32 fifo_high; @@ -757,8 +755,10 @@ static int overlay_enabled(struct omap_overlay *ovl) static int configure_overlay(enum omap_plane plane) { + struct omap_overlay *ovl; struct overlay_cache_data *c; struct omap_overlay_info *oi; + bool ilace, replication; int r; DSSDBGF("%d", plane); @@ -771,8 +771,14 @@ static int configure_overlay(enum omap_plane plane) return 0; } - r = dispc_ovl_setup(plane, oi, c->ilace, c->channel, - c->replication, c->fifo_low, c->fifo_high); + ovl = omap_dss_get_overlay(plane); + + replication = dss_use_replication(ovl->manager->device, oi->color_mode); + + ilace = ovl->manager->device->type == OMAP_DISPLAY_TYPE_VENC; + + r = dispc_ovl_setup(plane, oi, ilace, c->channel, + replication, c->fifo_low, c->fifo_high); if (r) { /* this shouldn't happen */ DSSERR("dispc_ovl_setup failed for ovl %d\n", plane); @@ -1038,11 +1044,6 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr) oc->dirty = true; oc->info = ovl->info; - oc->replication = - dss_use_replication(dssdev, ovl->info.color_mode); - - oc->ilace = dssdev->type == OMAP_DISPLAY_TYPE_VENC; - oc->channel = ovl->manager->id; oc->enabled = true; |