summaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-11-16 15:25:53 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-12-02 08:54:50 +0200
commit841c09c7975c67fe7741564d98265de28a5764d0 (patch)
treea697afd2e683f9ad686b3697ecc79ed5ea71370f /drivers/video/omap2
parentff4733dcf56480bebcd3801adde27213b893635d (diff)
downloadop-kernel-dev-841c09c7975c67fe7741564d98265de28a5764d0.zip
op-kernel-dev-841c09c7975c67fe7741564d98265de28a5764d0.tar.gz
OMAPDSS: APPLY: add dss_apply_ovl_enable()
Add a helper function dss_apply_ovl_enable(), which is similar to the main apply() function: dss_apply_ovl_enable() applies the given overlay enable-status to ovl_priv_data, and sets the dirty flag. The difference between the helper function and the previous direct use of the fields is that the helper function will not do anything if the enable state is already the same as given in the parameter. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r--drivers/video/omap2/dss/apply.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index 7015409..ec21837 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/drivers/video/omap2/dss/apply.c
@@ -646,6 +646,19 @@ int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
return r;
}
+static void dss_apply_ovl_enable(struct omap_overlay *ovl, bool enable)
+{
+ struct ovl_priv_data *op;
+
+ op = get_ovl_priv(ovl);
+
+ if (op->enabled == enable)
+ return;
+
+ op->enabled = enable;
+ op->extra_info_dirty = true;
+}
+
static void dss_ovl_setup_fifo(struct omap_overlay *ovl)
{
struct ovl_priv_data *op = get_ovl_priv(ovl);
@@ -999,8 +1012,7 @@ int dss_ovl_enable(struct omap_overlay *ovl)
spin_lock_irqsave(&data_lock, flags);
- op->enabled = true;
- op->extra_info_dirty = true;
+ dss_apply_ovl_enable(ovl, true);
dss_ovl_setup_fifo(ovl);
@@ -1031,8 +1043,7 @@ int dss_ovl_disable(struct omap_overlay *ovl)
spin_lock_irqsave(&data_lock, flags);
- op->enabled = false;
- op->extra_info_dirty = true;
+ dss_apply_ovl_enable(ovl, false);
dss_write_regs();
OpenPOWER on IntegriCloud