drm/i915: Busy-spin wait_for condition in atomic contexts
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>
This commit is contained in:
parent
6ee3b5a127
commit
9f01b25048
@ -39,7 +39,7 @@
|
||||
ret__ = -ETIMEDOUT; \
|
||||
break; \
|
||||
} \
|
||||
if (W && !in_dbg_master()) msleep(W); \
|
||||
if (W && !(in_atomic() || in_dbg_master())) msleep(W); \
|
||||
} \
|
||||
ret__; \
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user