On Tue, 15 Apr 2025, Ville Syrjälä <[email protected]> wrote: > On Wed, Apr 09, 2025 at 09:47:02PM +0300, Jani Nikula wrote: >> 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. >> >> Signed-off-by: Jani Nikula <[email protected]> >> --- >> .../gpu/drm/i915/display/intel_display_irq.c | 17 ++++++++++++++ >> .../gpu/drm/i915/display/intel_display_irq.h | 1 + >> drivers/gpu/drm/i915/i915_irq.c | 22 ++----------------- >> 3 files changed, 20 insertions(+), 20 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c >> b/drivers/gpu/drm/i915/display/intel_display_irq.c >> index d2a35e3630b1..0acb3b46d909 100644 >> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c >> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c >> @@ -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) >> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.h >> b/drivers/gpu/drm/i915/display/intel_display_irq.h >> index f72727768351..c0efda1c949c 100644 >> --- a/drivers/gpu/drm/i915/display/intel_display_irq.h >> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.h >> @@ -54,6 +54,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); >> diff --git a/drivers/gpu/drm/i915/i915_irq.c >> b/drivers/gpu/drm/i915/i915_irq.c >> index c1f938a1da44..d06694d6531e 100644 >> --- a/drivers/gpu/drm/i915/i915_irq.c >> +++ b/drivers/gpu/drm/i915/i915_irq.c >> @@ -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); > > I guess we should extract ilk_display_irq_reset() at some point...
One thing at a time... > This one is > Reviewed-by: Ville Syrjälä <[email protected]> Thanks, pushed to din. BR, Jani. > >> } >> >> 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) >> -- >> 2.39.5 -- Jani Nikula, Intel
