diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-10-19 11:23:06 (GMT) |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-11-27 10:27:02 (GMT) |
commit | b08e3e1342ff836e47767daa47211692d865e730 (patch) | |
tree | b3c7484384d3aa833ad002310bd6cb45aa056ad8 /drivers/video/omap2 | |
parent | 15f5e7324a683ee1c2991a9953103dd9b3b6fa5e (diff) | |
download | linux-b08e3e1342ff836e47767daa47211692d865e730.tar.xz |
OMAPDSS: DISPC: Remove blocking code from dispc_wb_enable()
WB will not be used with compat-mode, i.e. from omapfb. This means we
don't need the current complex dispc_wb_enable function, but can have a
simple register write version of the function.
This patch removes all the extra code from dispc_wb_enable()
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r-- | drivers/video/omap2/dss/dispc.c | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c index bc64d77..08c08d5 100644 --- a/drivers/video/omap2/dss/dispc.c +++ b/drivers/video/omap2/dss/dispc.c @@ -2810,43 +2810,12 @@ void dispc_mgr_disable_sync(enum omap_channel channel) void dispc_wb_enable(bool enable) { - enum omap_plane plane = OMAP_DSS_WB; - struct completion frame_done_completion; - bool is_on; - int r; - u32 irq; - - is_on = REG_GET(DISPC_OVL_ATTRIBUTES(plane), 0, 0); - irq = DISPC_IRQ_FRAMEDONEWB; - - if (!enable && is_on) { - init_completion(&frame_done_completion); - - r = omap_dispc_register_isr(dispc_mgr_disable_isr, - &frame_done_completion, irq); - if (r) - DSSERR("failed to register FRAMEDONEWB isr\n"); - } - - REG_FLD_MOD(DISPC_OVL_ATTRIBUTES(plane), enable ? 1 : 0, 0, 0); - - if (!enable && is_on) { - if (!wait_for_completion_timeout(&frame_done_completion, - msecs_to_jiffies(100))) - DSSERR("timeout waiting for FRAMEDONEWB\n"); - - r = omap_dispc_unregister_isr(dispc_mgr_disable_isr, - &frame_done_completion, irq); - if (r) - DSSERR("failed to unregister FRAMEDONEWB isr\n"); - } + REG_FLD_MOD(DISPC_OVL_ATTRIBUTES(OMAP_DSS_WB), enable ? 1 : 0, 0, 0); } bool dispc_wb_is_enabled(void) { - enum omap_plane plane = OMAP_DSS_WB; - - return REG_GET(DISPC_OVL_ATTRIBUTES(plane), 0, 0); + return REG_GET(DISPC_OVL_ATTRIBUTES(OMAP_DSS_WB), 0, 0); } static void dispc_lcd_enable_signal_polarity(bool act_high) |