From ffa6a329378020c1676e7e6bfda72d0aa3516bd4 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Fri, 25 Nov 2011 17:26:13 +0200 Subject: [PATCH] --- yaml --- r: 284962 b: refs/heads/master c: 9f808956d3cd07c8dc69e213931b19bad56344fb h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/video/omap2/dss/apply.c | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d42a91a01851..3457a66a0f01 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cc372d84e231ea9f574ef5de9a7ab39dee5a021d +refs/heads/master: 9f808956d3cd07c8dc69e213931b19bad56344fb diff --git a/trunk/drivers/video/omap2/dss/apply.c b/trunk/drivers/video/omap2/dss/apply.c index 5d205ada30de..98fef08da3ba 100644 --- a/trunk/drivers/video/omap2/dss/apply.c +++ b/trunk/drivers/video/omap2/dss/apply.c @@ -358,16 +358,38 @@ static bool need_isr(void) if (mp->info_dirty) return true; + /* to set GO bit */ + if (mp->shadow_info_dirty) + return true; + list_for_each_entry(ovl, &mgr->overlays, list) { struct ovl_priv_data *op; op = get_ovl_priv(ovl); + /* + * NOTE: we check extra_info flags even for + * disabled overlays, as extra_infos need to be + * always written. + */ + + /* to write new values to registers */ + if (op->extra_info_dirty) + return true; + + /* to set GO bit */ + if (op->shadow_extra_info_dirty) + return true; + if (!op->enabled) continue; /* to write new values to registers */ - if (op->info_dirty || op->extra_info_dirty) + if (op->info_dirty) + return true; + + /* to set GO bit */ + if (op->shadow_info_dirty) return true; } }