From ae0d93126f2ff87f34cb620c282cf23c589cfe64 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Wed, 16 Nov 2011 14:17:54 +0200 Subject: [PATCH] --- yaml --- r: 284947 b: refs/heads/master c: 5d5a97a6fbf98f82ae50c837eba3ebcfea0902f8 h: refs/heads/master i: 284945: 44017ade6f0c0cada3e747cff82d6c8d67124860 284943: d9f003b64f19c1cb75f7e1244bfaf16051088e85 v: v3 --- [refs] | 2 +- trunk/drivers/video/omap2/dss/apply.c | 21 +++++++-------------- trunk/include/video/omapdss.h | 2 -- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/[refs] b/[refs] index a9a25c67a664..ffe6dc74ebb5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c1a9febfafa2a9a9ac09b2de4c80aa96b41a03d1 +refs/heads/master: 5d5a97a6fbf98f82ae50c837eba3ebcfea0902f8 diff --git a/trunk/drivers/video/omap2/dss/apply.c b/trunk/drivers/video/omap2/dss/apply.c index debd37aa9128..3fd2ea163f05 100644 --- a/trunk/drivers/video/omap2/dss/apply.c +++ b/trunk/drivers/video/omap2/dss/apply.c @@ -69,8 +69,6 @@ struct ovl_priv_data { struct omap_overlay_info info; - enum omap_channel channel; - u32 fifo_low; u32 fifo_high; @@ -78,7 +76,7 @@ struct ovl_priv_data { bool shadow_extra_info_dirty; bool enabled; - + enum omap_channel channel; }; struct mgr_priv_data { @@ -384,8 +382,6 @@ static void dss_ovl_write_regs(struct omap_overlay *ovl) ilace = ovl->manager->device->type == OMAP_DISPLAY_TYPE_VENC; - dispc_ovl_set_channel_out(ovl->id, op->channel); - r = dispc_ovl_setup(ovl->id, oi, ilace, replication); if (r) { /* @@ -423,6 +419,7 @@ static void dss_ovl_write_regs_extra(struct omap_overlay *ovl) * disabled */ dispc_ovl_enable(ovl->id, op->enabled); + dispc_ovl_set_channel_out(ovl->id, op->channel); mp = get_mgr_priv(ovl->manager); @@ -608,19 +605,12 @@ static void omap_dss_mgr_apply_ovl(struct omap_overlay *ovl) op = get_ovl_priv(ovl); - if (ovl->manager_changed) { - ovl->manager_changed = false; - op->user_info_dirty = true; - } - if (!op->user_info_dirty) return; op->user_info_dirty = false; op->dirty = true; op->info = op->user_info; - - op->channel = ovl->manager->id; } static void omap_dss_mgr_apply_mgr(struct omap_overlay_manager *mgr) @@ -910,9 +900,11 @@ int dss_ovl_set_manager(struct omap_overlay *ovl, goto err; } + op->channel = mgr->id; + op->extra_info_dirty = true; + ovl->manager = mgr; list_add_tail(&ovl->list, &mgr->overlays); - ovl->manager_changed = true; spin_unlock_irqrestore(&data_lock, flags); @@ -960,9 +952,10 @@ int dss_ovl_unset_manager(struct omap_overlay *ovl) goto err; } + op->channel = -1; + ovl->manager = NULL; list_del(&ovl->list); - ovl->manager_changed = true; spin_unlock_irqrestore(&data_lock, flags); diff --git a/trunk/include/video/omapdss.h b/trunk/include/video/omapdss.h index 2e2c53f5e7ca..e629b0de3262 100644 --- a/trunk/include/video/omapdss.h +++ b/trunk/include/video/omapdss.h @@ -384,8 +384,6 @@ struct omap_overlay { /* dynamic fields */ struct omap_overlay_manager *manager; - bool manager_changed; - int (*enable)(struct omap_overlay *ovl); int (*disable)(struct omap_overlay *ovl); bool (*is_enabled)(struct omap_overlay *ovl);