[Intel-xe] ✓ CI.checkpatch: success for drm/xe: Fix an invalid locking wait context bug (rev2)
Patchwork
patchwork at emeril.freedesktop.org
Tue Jul 25 20:20:32 UTC 2023
== Series Details ==
Series: drm/xe: Fix an invalid locking wait context bug (rev2)
URL : https://patchwork.freedesktop.org/series/121003/
State : success
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
c7d32770e3cd31d9fc134ce41f329b10aa33ee15
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 3daa9e7f075e90f75db359e8c2e42e9c716735e4
Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
Date: Tue Jul 25 16:17:58 2023 -0400
drm/xe: Fix an invalid locking wait context bug
We cannot have spin locks around xe_irq_reset, since it will
call the intel_display_power_is_enabled() function, and
that needs a mutex lock. Hence causing the undesired
"[ BUG: Invalid wait context ]"
We cannot convert i915's power domain lock to spin lock
due to the nested dependency of non-atomic context waits.
So, let's move the xe_irq_reset functions from the
critical area, while still ensuring that we are protecting
the irq.enabled and ensuring the right serialization
in the irq handlers.
v2: On the first version, I had missed the fact that
irq.enabled is checked on the xe/display glue layer,
and that i915 display code is actually using the irq
spin lock properly. So, this got changed to a version
suggested by Matthew Auld, along with introducing
the lockdep_assert_held at the display glue code.
Suggested-by: Matthew Auld <matthew.auld at intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
+ /mt/dim checkpatch 1dd467ce41537f09a7d0aa6b506502adeada8b17 drm-intel
3daa9e7f0 drm/xe: Fix an invalid locking wait context bug
More information about the Intel-xe
mailing list