diff options
-rw-r--r-- | drivers/video/omap2/dss/apply.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c index 70154092d731..ec2183721642 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(); |