> -----Original Message-----
> From: Intel-xe <[email protected]> On Behalf Of Maarten
> Lankhorst
> Sent: Wednesday, January 21, 2026 7:23 PM
> To: [email protected]; [email protected]
> Cc: Maarten Lankhorst <[email protected]>; Brost, Matthew
> <[email protected]>
> Subject: [i915-rt v5 01/21] 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.
Looks Good to me.
Reviewed-by: Uma Shankar <[email protected]>
> Signed-off-by: Maarten Lankhorst <[email protected]>
> Reviewed-by: Matthew Brost <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_lpe_audio.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> index 5b41abe1c64d5..172c0062237eb 100644
> --- a/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> +++ b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> @@ -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);
> --
> 2.51.0