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

Reply via email to