diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-11-20 13:54:33 +0100 |
---|---|---|
committer | Joonas Lahtinen <joonas.lahtinen@linux.intel.com> | 2019-11-25 14:29:17 +0100 |
commit | ee33baa83109612d9a31fc2c2a7b74967767b358 (patch) | |
tree | ec6a4ccddf7fc9dac3c8a2c116e83ddedc660752 /block | |
parent | drm/i915: Wait until the intel_wakeref idle callback is complete (diff) | |
download | linux-ee33baa83109612d9a31fc2c2a7b74967767b358.tar.xz linux-ee33baa83109612d9a31fc2c2a7b74967767b358.zip |
drm/i915: Mark up the calling context for intel_wakeref_put()
Previously, we assumed we could use mutex_trylock() within an atomic
context, falling back to a worker if contended. However, such trickery
is illegal inside interrupt context, and so we need to always use a
worker under such circumstances. As we normally are in process context,
we can typically use a plain mutex, and only defer to a work when we
know we are being called from an interrupt path.
Fixes: 51fbd8de87dc ("drm/i915/pmu: Atomically acquire the gt_pm wakeref")
References: a0855d24fc22d ("locking/mutex: Complain upon mutex API misuse in IRQ contexts")
References: https://bugs.freedesktop.org/show_bug.cgi?id=111626
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191120125433.3767149-1-chris@chris-wilson.co.uk
(cherry picked from commit 07779a76ee1f93f930cf697b22be73d16e14f50c)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions