mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 08:15:07 -04:00
drm/i915/display: Fix intel_lpe_audio_irq_handler for PREEMPT-RT
The LPE audio interrupt comes from the i915 interrupt handler. It should be in irq disabled context. With PREEMPT_RT enabled, the IRQ handler is threaded. Because intel_lpe_audio_irq_handler() may be called in threaded IRQ context, generic_handle_irq_safe API disables the interrupts before calling LPE's interrupt top half handler. This fixes braswell audio issues with RT enabled. Reviewed-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn> Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Link: https://patch.msgid.link/20260602004515.1907422-1-runyu.xiao@seu.edu.cn Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
This commit is contained in:
@@ -262,7 +262,7 @@ void intel_lpe_audio_irq_handler(struct intel_display *display)
|
||||
if (!HAS_LPE_AUDIO(display))
|
||||
return;
|
||||
|
||||
ret = generic_handle_irq(display->audio.lpe.irq);
|
||||
ret = generic_handle_irq_safe(display->audio.lpe.irq);
|
||||
if (ret)
|
||||
drm_err_ratelimited(display->drm,
|
||||
"error handling LPE audio irq: %d\n", ret);
|
||||
|
||||
Reference in New Issue
Block a user