mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02: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:
parent
3f2596e38d
commit
9cc47acc2f
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user