On Thu, Aug 29, 2019 at 02:15:23PM -0700, José Roberto de Souza wrote:
> From: Lucas De Marchi <[email protected]>
> 
> South, follow the north.
> 
> Instead of defining separate macros for each port, make them take port
> as parameter as done for TC ports and for north engine. This will allow
> us to easily extend this as needed.
> 
> tgp_ddi_port_hotplug_long_detect() is also removed as after the EHL
> introduction the tgp variant is an exact copy of icp.
> 
> Signed-off-by: Lucas De Marchi <[email protected]>

Reviewed-by: Matt Roper <[email protected]>

> ---
>  drivers/gpu/drm/i915/i915_irq.c | 22 ++++----------------
>  drivers/gpu/drm/i915/i915_reg.h | 36 +++++++++++----------------------
>  2 files changed, 16 insertions(+), 42 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 3f1b6ee157ba..084e322ec15b 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1401,11 +1401,11 @@ static bool icp_ddi_port_hotplug_long_detect(enum 
> hpd_pin pin, u32 val)
>  {
>       switch (pin) {
>       case HPD_PORT_A:
> -             return val & ICP_DDIA_HPD_LONG_DETECT;
> +             return val & SHOTPLUG_CTL_DDI_HPD_LONG_DETECT(PORT_A);
>       case HPD_PORT_B:
> -             return val & ICP_DDIB_HPD_LONG_DETECT;
> +             return val & SHOTPLUG_CTL_DDI_HPD_LONG_DETECT(PORT_B);
>       case HPD_PORT_C:
> -             return val & TGP_DDIC_HPD_LONG_DETECT;
> +             return val & SHOTPLUG_CTL_DDI_HPD_LONG_DETECT(PORT_C);
>       default:
>               return false;
>       }
> @@ -1427,20 +1427,6 @@ static bool icp_tc_port_hotplug_long_detect(enum 
> hpd_pin pin, u32 val)
>       }
>  }
>  
> -static bool tgp_ddi_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
> -{
> -     switch (pin) {
> -     case HPD_PORT_A:
> -             return val & ICP_DDIA_HPD_LONG_DETECT;
> -     case HPD_PORT_B:
> -             return val & ICP_DDIB_HPD_LONG_DETECT;
> -     case HPD_PORT_C:
> -             return val & TGP_DDIC_HPD_LONG_DETECT;
> -     default:
> -             return false;
> -     }
> -}
> -
>  static bool tgp_tc_port_hotplug_long_detect(enum hpd_pin pin, u32 val)
>  {
>       switch (pin) {
> @@ -2318,7 +2304,7 @@ static void tgp_irq_handler(struct drm_i915_private 
> *dev_priv, u32 pch_iir)
>               intel_get_hpd_pins(dev_priv, &pin_mask, &long_mask,
>                                  ddi_hotplug_trigger,
>                                  dig_hotplug_reg, hpd_tgp,
> -                                tgp_ddi_port_hotplug_long_detect);
> +                                icp_ddi_port_hotplug_long_detect);
>       }
>  
>       if (tc_hotplug_trigger) {
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 02e1ef10c47e..a3f87115da0a 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -7928,26 +7928,13 @@ enum {
>   * SHOTPLUG_CTL_DDI and SHOTPLUG_CTL_TC.
>   */
>  
> -#define SHOTPLUG_CTL_DDI                     _MMIO(0xc4030)
> -#define   TGP_DDIC_HPD_ENABLE                        (1 << 11)
> -#define   TGP_DDIC_HPD_STATUS_MASK           (3 << 8)
> -#define   TGP_DDIC_HPD_NO_DETECT             (0 << 8)
> -#define   TGP_DDIC_HPD_SHORT_DETECT          (1 << 8)
> -#define   TGP_DDIC_HPD_LONG_DETECT           (2 << 8)
> -#define   TGP_DDIC_HPD_SHORT_LONG_DETECT     (3 << 8)
> -#define   ICP_DDIB_HPD_ENABLE                        (1 << 7)
> -#define   ICP_DDIB_HPD_STATUS_MASK           (3 << 4)
> -#define   ICP_DDIB_HPD_NO_DETECT             (0 << 4)
> -#define   ICP_DDIB_HPD_SHORT_DETECT          (1 << 4)
> -#define   ICP_DDIB_HPD_LONG_DETECT           (2 << 4)
> -#define   ICP_DDIB_HPD_SHORT_LONG_DETECT     (3 << 4)
> -#define   ICP_DDIA_HPD_ENABLE                        (1 << 3)
> -#define   ICP_DDIA_HPD_OP_DRIVE_1            (1 << 2)
> -#define   ICP_DDIA_HPD_STATUS_MASK           (3 << 0)
> -#define   ICP_DDIA_HPD_NO_DETECT             (0 << 0)
> -#define   ICP_DDIA_HPD_SHORT_DETECT          (1 << 0)
> -#define   ICP_DDIA_HPD_LONG_DETECT           (2 << 0)
> -#define   ICP_DDIA_HPD_SHORT_LONG_DETECT     (3 << 0)
> +#define SHOTPLUG_CTL_DDI                             _MMIO(0xc4030)
> +#define   SHOTPLUG_CTL_DDI_HPD_ENABLE(port)          (0x8 << (4 * (port)))
> +#define   SHOTPLUG_CTL_DDI_HPD_STATUS_MASK(port)     (0x3 << (4 * (port)))
> +#define   SHOTPLUG_CTL_DDI_HPD_NO_DETECT(port)               (0x0 << (4 * 
> (port)))
> +#define   SHOTPLUG_CTL_DDI_HPD_SHORT_DETECT(port)    (0x1 << (4 * (port)))
> +#define   SHOTPLUG_CTL_DDI_HPD_LONG_DETECT(port)     (0x2 << (4 * (port)))
> +#define   SHOTPLUG_CTL_DDI_HPD_SHORT_LONG_DETECT(port)       (0x3 << (4 * 
> (port)))
>  
>  #define SHOTPLUG_CTL_TC                              _MMIO(0xc4034)
>  #define   ICP_TC_HPD_ENABLE(tc_port)         (8 << (tc_port) * 4)
> @@ -8058,14 +8045,15 @@ enum {
>  #define   ICP_TC_HPD_LONG_DETECT(tc_port)    (2 << (tc_port) * 4)
>  #define   ICP_TC_HPD_SHORT_DETECT(tc_port)   (1 << (tc_port) * 4)
>  
> -#define ICP_DDI_HPD_ENABLE_MASK              (ICP_DDIB_HPD_ENABLE |  \
> -                                      ICP_DDIA_HPD_ENABLE)
> +#define ICP_DDI_HPD_ENABLE_MASK              
> (SHOTPLUG_CTL_DDI_HPD_ENABLE(PORT_B) | \
> +                                      SHOTPLUG_CTL_DDI_HPD_ENABLE(PORT_A))
>  #define ICP_TC_HPD_ENABLE_MASK               (ICP_TC_HPD_ENABLE(PORT_TC4) | \
>                                        ICP_TC_HPD_ENABLE(PORT_TC3) | \
>                                        ICP_TC_HPD_ENABLE(PORT_TC2) | \
>                                        ICP_TC_HPD_ENABLE(PORT_TC1))
> -#define TGP_DDI_HPD_ENABLE_MASK              (TGP_DDIC_HPD_ENABLE |  \
> -                                      ICP_DDI_HPD_ENABLE_MASK)
> +#define TGP_DDI_HPD_ENABLE_MASK              
> (SHOTPLUG_CTL_DDI_HPD_ENABLE(PORT_C) | \
> +                                      SHOTPLUG_CTL_DDI_HPD_ENABLE(PORT_B) | \
> +                                      SHOTPLUG_CTL_DDI_HPD_ENABLE(PORT_A))
>  #define TGP_TC_HPD_ENABLE_MASK               (ICP_TC_HPD_ENABLE(PORT_TC6) | \
>                                        ICP_TC_HPD_ENABLE(PORT_TC5) | \
>                                        ICP_TC_HPD_ENABLE_MASK)
> -- 
> 2.23.0
> 
> _______________________________________________
> Intel-gfx mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to