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>
This commit is contained in:
Tomi Valkeinen 2011-11-03 16:52:06 +02:00
parent cf0736681e
commit 3ba2a1c015

View File

@ -510,8 +510,6 @@ struct overlay_cache_data {
struct omap_overlay_info info; struct omap_overlay_info info;
enum omap_channel channel; enum omap_channel channel;
bool replication;
bool ilace;
u32 fifo_low; u32 fifo_low;
u32 fifo_high; u32 fifo_high;
@ -757,8 +755,10 @@ static int overlay_enabled(struct omap_overlay *ovl)
static int configure_overlay(enum omap_plane plane) static int configure_overlay(enum omap_plane plane)
{ {
struct omap_overlay *ovl;
struct overlay_cache_data *c; struct overlay_cache_data *c;
struct omap_overlay_info *oi; struct omap_overlay_info *oi;
bool ilace, replication;
int r; int r;
DSSDBGF("%d", plane); DSSDBGF("%d", plane);
@ -771,8 +771,14 @@ static int configure_overlay(enum omap_plane plane)
return 0; return 0;
} }
r = dispc_ovl_setup(plane, oi, c->ilace, c->channel, ovl = omap_dss_get_overlay(plane);
c->replication, c->fifo_low, c->fifo_high);
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) { if (r) {
/* this shouldn't happen */ /* this shouldn't happen */
DSSERR("dispc_ovl_setup failed for ovl %d\n", plane); 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->dirty = true;
oc->info = ovl->info; 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->channel = ovl->manager->id;
oc->enabled = true; oc->enabled = true;