[PATCH] drm/i915/irq: convert ibx_irq_reset() into ibx_display_irq_reset()

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Apr 15 13:25:20 UTC 2025


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 <jani.nikula at intel.com>
> ---
>  .../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...

This one is
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

>  }
>  
>  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

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list