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]>
---
 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);
 }
-- 
2.56.0

Reply via email to