Skip to content

Commit

Permalink
drm/i915: Busy-spin wait_for condition in atomic contexts
Browse files Browse the repository at this point in the history
During modesetting, we need to wait for the hardware to report
readiness by polling the registers. Normally, we call msleep() between
reads, because some state changes may take a whole vblank or more
to complete. However during a panic, we are in an atomic context and
cannot sleep. Instead, busy spin polling the termination condition.

References: https://bugzilla.kernel.org/show_bug.cgi?id=31772
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
  • Loading branch information
Chris Wilson committed Mar 31, 2011
1 parent 6ee3b5a commit 9f01b25
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/intel_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
ret__ = -ETIMEDOUT; \
break; \
} \
if (W && !in_dbg_master()) msleep(W); \
if (W && !(in_atomic() || in_dbg_master())) msleep(W); \
} \
ret__; \
})
Expand Down

0 comments on commit 9f01b25

Please sign in to comment.