[Intel-xe] ✓ CI.checkpatch: success for drm/xe: Fix an invalid locking wait context bug (rev3)

Patchwork patchwork at emeril.freedesktop.org
Wed Jul 26 22:29:13 UTC 2023


== Series Details ==

Series: drm/xe: Fix an invalid locking wait context bug (rev3)
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 02a31b01797ece832ffd8850a65c07d21b26c6f0
Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
Date:   Wed Jul 26 17:30:42 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.
    
    v3: do not use lockdep_assert for display glue.
        do not save restore irq from inside IRQ or we can
        get bogus irq restore warnings
    
    Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/463
    Suggested-by: Matthew Auld <matthew.auld at intel.com>
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
+ /mt/dim checkpatch b8202a008e7c05d97c26cb61012c36d0f249eaa1 drm-intel
02a31b017 drm/xe: Fix an invalid locking wait context bug




More information about the Intel-xe mailing list