drm/i915/irq: convert ibx_irq_reset() into ibx_display_irq_reset()
authorJani Nikula <jani.nikula@intel.com>
Wed, 9 Apr 2025 18:47:02 +0000 (21:47 +0300)
committerJani Nikula <jani.nikula@intel.com>
Tue, 15 Apr 2025 13:31:51 +0000 (16:31 +0300)
Observe that ibx_irq_reset() is really ibx_display_irq_reset(). Make it
so. Move to display, and call it directly from gen8_display_irq_reset()
instead of gen8_irq_reset().

Remove a nearby ancient stale comment while at it.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/20250409184702.3790548-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_display_irq.c
drivers/gpu/drm/i915/display/intel_display_irq.h
drivers/gpu/drm/i915/i915_irq.c

index 5d07b6a9e59e3882daffa8eae66113a7c8fb4f06..d28ad70a35380b3a2d19756b1b5aa079e30117fb 100644 (file)
@@ -1960,8 +1960,22 @@ void vlv_display_irq_postinstall(struct intel_display *display)
        intel_display_irq_regs_init(display, VLV_IRQ_REGS, dev_priv->irq_mask, enable_mask);
 }
 
+void ibx_display_irq_reset(struct intel_display *display)
+{
+       struct drm_i915_private *i915 = to_i915(display->drm);
+
+       if (HAS_PCH_NOP(i915))
+               return;
+
+       gen2_irq_reset(to_intel_uncore(display->drm), SDE_IRQ_REGS);
+
+       if (HAS_PCH_CPT(i915) || HAS_PCH_LPT(i915))
+               intel_de_write(display, SERR_INT, 0xffffffff);
+}
+
 void gen8_display_irq_reset(struct intel_display *display)
 {
+       struct drm_i915_private *i915 = to_i915(display->drm);
        enum pipe pipe;
 
        if (!HAS_DISPLAY(display))
@@ -1977,6 +1991,9 @@ void gen8_display_irq_reset(struct intel_display *display)
 
        intel_display_irq_regs_reset(display, GEN8_DE_PORT_IRQ_REGS);
        intel_display_irq_regs_reset(display, GEN8_DE_MISC_IRQ_REGS);
+
+       if (HAS_PCH_SPLIT(i915))
+               ibx_display_irq_reset(display);
 }
 
 void gen11_display_irq_reset(struct intel_display *display)
index 4f0e27a37854ab18dc5049a1d197cdd96043b81f..5422426c6843dcde99ddab1e316e87ba307a5082 100644 (file)
@@ -56,6 +56,7 @@ u32 gen11_gu_misc_irq_ack(struct intel_display *display, const u32 master_ctl);
 void gen11_gu_misc_irq_handler(struct intel_display *display, const u32 iir);
 
 void i9xx_display_irq_reset(struct intel_display *display);
+void ibx_display_irq_reset(struct intel_display *display);
 void vlv_display_irq_reset(struct intel_display *display);
 void gen8_display_irq_reset(struct intel_display *display);
 void gen11_display_irq_reset(struct intel_display *display);
index c1f938a1da44e78fd755183196b7d8a438eb88ec..d06694d6531e7bdef2fc61c981d61edb6e8000ad 100644 (file)
@@ -658,23 +658,9 @@ static irqreturn_t dg1_irq_handler(int irq, void *arg)
        return IRQ_HANDLED;
 }
 
-static void ibx_irq_reset(struct drm_i915_private *dev_priv)
-{
-       struct intel_uncore *uncore = &dev_priv->uncore;
-
-       if (HAS_PCH_NOP(dev_priv))
-               return;
-
-       gen2_irq_reset(uncore, SDE_IRQ_REGS);
-
-       if (HAS_PCH_CPT(dev_priv) || HAS_PCH_LPT(dev_priv))
-               intel_uncore_write(&dev_priv->uncore, SERR_INT, 0xffffffff);
-}
-
-/* drm_dma.h hooks
-*/
 static void ilk_irq_reset(struct drm_i915_private *dev_priv)
 {
+       struct intel_display *display = &dev_priv->display;
        struct intel_uncore *uncore = &dev_priv->uncore;
 
        gen2_irq_reset(uncore, DE_IRQ_REGS);
@@ -690,7 +676,7 @@ static void ilk_irq_reset(struct drm_i915_private *dev_priv)
 
        gen5_gt_irq_reset(to_gt(dev_priv));
 
-       ibx_irq_reset(dev_priv);
+       ibx_display_irq_reset(display);
 }
 
 static void valleyview_irq_reset(struct drm_i915_private *dev_priv)
@@ -717,10 +703,6 @@ static void gen8_irq_reset(struct drm_i915_private *dev_priv)
        gen8_gt_irq_reset(to_gt(dev_priv));
        gen8_display_irq_reset(display);
        gen2_irq_reset(uncore, GEN8_PCU_IRQ_REGS);
-
-       if (HAS_PCH_SPLIT(dev_priv))
-               ibx_irq_reset(dev_priv);
-
 }
 
 static void gen11_irq_reset(struct drm_i915_private *dev_priv)