> -----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

Reply via email to