On Thu, 05 Nov 2026, Ville Syrjala <[email protected]> wrote:
> From: Ville Syrjälä <[email protected]>
>
> Both gen11 and dg1 duplicate the same code to set up the
> GEN11_GU_MISC interrupts. Extract it to a shared helper.
>
> Signed-off-by: Ville Syrjälä <[email protected]>
> ---
>  drivers/gpu/drm/i915/i915_irq.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 12082167face..823d97284d78 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -725,17 +725,26 @@ static void gen8_irq_postinstall(struct 
> drm_i915_private *dev_priv)
>       gen8_master_intr_enable(intel_uncore_regs(&dev_priv->uncore));
>  }
>  
> +static void gen11_gu_misc_irq_postinstall(struct drm_i915_private *dev_priv)
> +{
> +     struct intel_gt *gt = to_gt(dev_priv);
> +     struct intel_uncore *uncore = gt->uncore;

That's a roundabout path to uncore, but *shrug*.

Reviewed-by: Jani Nikula <[email protected]>

> +     u32 gu_misc_masked = GEN11_GU_MISC_GSE;
> +
> +     gen2_irq_init(uncore, GEN11_GU_MISC_IRQ_REGS, ~gu_misc_masked, 
> gu_misc_masked);
> +}
> +
>  static void gen11_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;
>  
>       gen11_gt_irq_postinstall(gt);
> +
>       intel_display_irq_postinstall(display);
>  
> -     gen2_irq_init(uncore, GEN11_GU_MISC_IRQ_REGS, ~gu_misc_masked, 
> gu_misc_masked);
> +     gen11_gu_misc_irq_postinstall(dev_priv);
>  
>       gen11_master_intr_enable(intel_uncore_regs(uncore));
>       intel_uncore_posting_read(&dev_priv->uncore, GEN11_GFX_MSTR_IRQ);
> @@ -745,14 +754,13 @@ static void dg1_irq_postinstall(struct drm_i915_private 
> *dev_priv)
>  {
>       struct intel_display *display = dev_priv->display;
>       struct intel_uncore *uncore = &dev_priv->uncore;
> -     u32 gu_misc_masked = GEN11_GU_MISC_GSE;
>       struct intel_gt *gt;
>       unsigned int i;
>  
>       for_each_gt(gt, dev_priv, i)
>               gen11_gt_irq_postinstall(gt);
>  
> -     gen2_irq_init(uncore, GEN11_GU_MISC_IRQ_REGS, ~gu_misc_masked, 
> gu_misc_masked);
> +     gen11_gu_misc_irq_postinstall(dev_priv);
>  
>       intel_display_irq_postinstall(display);

-- 
Jani Nikula, Intel

Reply via email to