On Thu, Aug 29, 2019 at 02:15:23PM -0700, José Roberto de Souza wrote: > From: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> > > 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 <lucas.demarchi@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> > --- > 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 > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > 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 Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx