On Wed, 2020-07-01 at 00:55 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <
> [email protected]
> >
> 
> No reason to stuff both DDI and TC port handling into the same
> function. Split it into two.

Reviewed-by: José Roberto de Souza <[email protected]>

> 
> Signed-off-by: Ville Syrjälä <
> [email protected]
> >
> ---
>  drivers/gpu/drm/i915/i915_irq.c | 48 ++++++++++++++++++---------------
>  1 file changed, 27 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 839ae674bc44..92d74448ee03 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -3045,21 +3045,24 @@ static void ibx_hpd_irq_setup(struct drm_i915_private 
> *dev_priv)
>       ibx_hpd_detection_setup(dev_priv);
>  }
>  
> -static void icp_hpd_detection_setup(struct drm_i915_private *dev_priv,
> -                                 u32 ddi_hotplug_enable_mask,
> -                                 u32 tc_hotplug_enable_mask)
> +static void icp_ddi_hpd_detection_setup(struct drm_i915_private *dev_priv,
> +                                     u32 enable_mask)
>  {
>       u32 hotplug;
>  
>       hotplug = I915_READ(SHOTPLUG_CTL_DDI);
> -     hotplug |= ddi_hotplug_enable_mask;
> +     hotplug |= enable_mask;
>       I915_WRITE(SHOTPLUG_CTL_DDI, hotplug);
> +}
>  
> -     if (tc_hotplug_enable_mask) {
> -             hotplug = I915_READ(SHOTPLUG_CTL_TC);
> -             hotplug |= tc_hotplug_enable_mask;
> -             I915_WRITE(SHOTPLUG_CTL_TC, hotplug);
> -     }
> +static void icp_tc_hpd_detection_setup(struct drm_i915_private *dev_priv,
> +                                    u32 enable_mask)
> +{
> +     u32 hotplug;
> +
> +     hotplug = I915_READ(SHOTPLUG_CTL_TC);
> +     hotplug |= enable_mask;
> +     I915_WRITE(SHOTPLUG_CTL_TC, hotplug);
>  }
>  
>  static void icp_hpd_irq_setup(struct drm_i915_private *dev_priv,
> @@ -3075,7 +3078,9 @@ static void icp_hpd_irq_setup(struct drm_i915_private 
> *dev_priv,
>  
>       ibx_display_interrupt_update(dev_priv, hotplug_irqs, enabled_irqs);
>  
> -     icp_hpd_detection_setup(dev_priv, ddi_enable_mask, tc_enable_mask);
> +     icp_ddi_hpd_detection_setup(dev_priv, ddi_enable_mask);
> +     if (tc_enable_mask)
> +             icp_tc_hpd_detection_setup(dev_priv, tc_enable_mask);
>  }
>  
>  /*
> @@ -3493,17 +3498,18 @@ static void icp_irq_postinstall(struct 
> drm_i915_private *dev_priv)
>       gen3_assert_iir_is_zero(&dev_priv->uncore, SDEIIR);
>       I915_WRITE(SDEIMR, ~mask);
>  
> -     if (HAS_PCH_TGP(dev_priv))
> -             icp_hpd_detection_setup(dev_priv, TGP_DDI_HPD_ENABLE_MASK,
> -                                     TGP_TC_HPD_ENABLE_MASK);
> -     else if (HAS_PCH_JSP(dev_priv))
> -             icp_hpd_detection_setup(dev_priv, TGP_DDI_HPD_ENABLE_MASK, 0);
> -     else if (HAS_PCH_MCC(dev_priv))
> -             icp_hpd_detection_setup(dev_priv, ICP_DDI_HPD_ENABLE_MASK,
> -                                     ICP_TC_HPD_ENABLE(PORT_TC1));
> -     else
> -             icp_hpd_detection_setup(dev_priv, ICP_DDI_HPD_ENABLE_MASK,
> -                                     ICP_TC_HPD_ENABLE_MASK);
> +     if (HAS_PCH_TGP(dev_priv)) {
> +             icp_ddi_hpd_detection_setup(dev_priv, TGP_DDI_HPD_ENABLE_MASK);
> +             icp_tc_hpd_detection_setup(dev_priv, TGP_TC_HPD_ENABLE_MASK);
> +     } else if (HAS_PCH_JSP(dev_priv)) {
> +             icp_ddi_hpd_detection_setup(dev_priv, TGP_DDI_HPD_ENABLE_MASK);
> +     } else if (HAS_PCH_MCC(dev_priv)) {
> +             icp_ddi_hpd_detection_setup(dev_priv, ICP_DDI_HPD_ENABLE_MASK);
> +             icp_tc_hpd_detection_setup(dev_priv, 
> ICP_TC_HPD_ENABLE(PORT_TC1));
> +     } else {
> +             icp_ddi_hpd_detection_setup(dev_priv, ICP_DDI_HPD_ENABLE_MASK);
> +             icp_tc_hpd_detection_setup(dev_priv, ICP_TC_HPD_ENABLE_MASK);
> +     }
>  }
>  
>  static void gen11_irq_postinstall(struct drm_i915_private *dev_priv)
> 
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to