Skip to content

Commit

Permalink
OMAP: DSS: dispc: enable/disable clocks in error handler
Browse files Browse the repository at this point in the history
There's no guarantee that the error handler worker thread
will run while the dispc clocks are on. Explicitly enable/disable
them.

Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Dima Zavin authored and Tomi Valkeinen committed Sep 14, 2011
1 parent 0f770b4 commit 13eae1f
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/video/omap2/dss/dispc.c
Original file line number Diff line number Diff line change
Expand Up @@ -3306,6 +3306,8 @@ static void dispc_error_worker(struct work_struct *work)
dispc.error_irqs = 0;
spin_unlock_irqrestore(&dispc.irq_lock, flags);

dispc_runtime_get();

if (errors & DISPC_IRQ_GFX_FIFO_UNDERFLOW) {
DSSERR("GFX_FIFO_UNDERFLOW, disabling GFX\n");
for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
Expand Down Expand Up @@ -3492,6 +3494,8 @@ static void dispc_error_worker(struct work_struct *work)
dispc.irq_error_mask |= errors;
_omap_dispc_set_irqs();
spin_unlock_irqrestore(&dispc.irq_lock, flags);

dispc_runtime_put();
}

int omap_dispc_wait_for_irq_timeout(u32 irqmask, unsigned long timeout)
Expand Down

0 comments on commit 13eae1f

Please sign in to comment.