On Thu, 05 Nov 2026, Ville Syrjala <[email protected]> wrote:
> From: Ville Syrjälä <[email protected]>
>
> Display is the only current user of GSE interrupts. Keep the
> GSE interrupt masked on icl+ if there is no display.
>
> Signed-off-by: Ville Syrjälä <[email protected]>

xe could use the same treatment.

Reviewed-by: Jani Nikula <[email protected]>

> ---
>  drivers/gpu/drm/i915/i915_irq.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 823d97284d78..5476472d33bd 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -36,6 +36,7 @@
>  #include <drm/intel/display_parent_interface.h>
>  #include <drm/intel/intel_gmd_interrupt_regs.h>
>  
> +#include "display/intel_display_device.h"
>  #include "display/intel_display_irq.h"
>  
>  #include "gt/intel_breadcrumbs.h"
> @@ -727,9 +728,13 @@ static void gen8_irq_postinstall(struct drm_i915_private 
> *dev_priv)
>  
>  static void gen11_gu_misc_irq_postinstall(struct drm_i915_private *dev_priv)
>  {
> +     struct intel_display *display = dev_priv->display;
>       struct intel_gt *gt = to_gt(dev_priv);
>       struct intel_uncore *uncore = gt->uncore;
> -     u32 gu_misc_masked = GEN11_GU_MISC_GSE;
> +     u32 gu_misc_masked = 0;
> +
> +     if (intel_display_device_present(display))
> +             gu_misc_masked |= GEN11_GU_MISC_GSE;
>  
>       gen2_irq_init(uncore, GEN11_GU_MISC_IRQ_REGS, ~gu_misc_masked, 
> gu_misc_masked);
>  }

-- 
Jani Nikula, Intel

Reply via email to