Message ID | 20201023133420.12039-14-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Futher cleanup around hpd pins and port identfiers | expand |
On Fri, Oct 23, 2020 at 04:34:14PM +0300, Ville Syrjälä wrote: >From: Ville Syrjälä <ville.syrjala@linux.intel.com> > >No reason to stuff both type-c and tbt into the same function. >Let's split this so we may more easily handle platforms that >lack the tbt spefific bits. > >Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Lucas De Marchi >--- > drivers/gpu/drm/i915/i915_irq.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > >diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c >index 68e9d2813d32..2c8813f34a45 100644 >--- a/drivers/gpu/drm/i915/i915_irq.c >+++ b/drivers/gpu/drm/i915/i915_irq.c >@@ -3251,7 +3251,7 @@ static void jsp_hpd_irq_setup(struct drm_i915_private *dev_priv) > TGP_DDI_HPD_ENABLE_MASK, 0); > } > >-static void gen11_hpd_detection_setup(struct drm_i915_private *dev_priv) >+static void gen11_tc_hpd_detection_setup(struct drm_i915_private *dev_priv) > { > u32 hotplug; > >@@ -3263,6 +3263,11 @@ static void gen11_hpd_detection_setup(struct drm_i915_private *dev_priv) > GEN11_HOTPLUG_CTL_ENABLE(HPD_PORT_TC5) | > GEN11_HOTPLUG_CTL_ENABLE(HPD_PORT_TC6); > I915_WRITE(GEN11_TC_HOTPLUG_CTL, hotplug); >+} >+ >+static void gen11_tbt_hpd_detection_setup(struct drm_i915_private *dev_priv) >+{ >+ u32 hotplug; > > hotplug = I915_READ(GEN11_TBT_HOTPLUG_CTL); > hotplug |= GEN11_HOTPLUG_CTL_ENABLE(HPD_PORT_TC1) | >@@ -3288,7 +3293,8 @@ static void gen11_hpd_irq_setup(struct drm_i915_private *dev_priv) > I915_WRITE(GEN11_DE_HPD_IMR, val); > POSTING_READ(GEN11_DE_HPD_IMR); > >- gen11_hpd_detection_setup(dev_priv); >+ gen11_tc_hpd_detection_setup(dev_priv); >+ gen11_tbt_hpd_detection_setup(dev_priv); > > if (INTEL_PCH_TYPE(dev_priv) >= PCH_TGP) > icp_hpd_irq_setup(dev_priv, >@@ -3603,7 +3609,8 @@ static void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv) > > GEN3_IRQ_INIT(uncore, GEN11_DE_HPD_, ~de_hpd_masked, > de_hpd_enables); >- gen11_hpd_detection_setup(dev_priv); >+ gen11_tc_hpd_detection_setup(dev_priv); >+ gen11_tbt_hpd_detection_setup(dev_priv); > } else if (IS_GEN9_LP(dev_priv)) { > bxt_hpd_detection_setup(dev_priv); > } else if (IS_BROADWELL(dev_priv)) { >-- >2.26.2 > >_______________________________________________ >Intel-gfx mailing list >Intel-gfx@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 68e9d2813d32..2c8813f34a45 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -3251,7 +3251,7 @@ static void jsp_hpd_irq_setup(struct drm_i915_private *dev_priv) TGP_DDI_HPD_ENABLE_MASK, 0); } -static void gen11_hpd_detection_setup(struct drm_i915_private *dev_priv) +static void gen11_tc_hpd_detection_setup(struct drm_i915_private *dev_priv) { u32 hotplug; @@ -3263,6 +3263,11 @@ static void gen11_hpd_detection_setup(struct drm_i915_private *dev_priv) GEN11_HOTPLUG_CTL_ENABLE(HPD_PORT_TC5) | GEN11_HOTPLUG_CTL_ENABLE(HPD_PORT_TC6); I915_WRITE(GEN11_TC_HOTPLUG_CTL, hotplug); +} + +static void gen11_tbt_hpd_detection_setup(struct drm_i915_private *dev_priv) +{ + u32 hotplug; hotplug = I915_READ(GEN11_TBT_HOTPLUG_CTL); hotplug |= GEN11_HOTPLUG_CTL_ENABLE(HPD_PORT_TC1) | @@ -3288,7 +3293,8 @@ static void gen11_hpd_irq_setup(struct drm_i915_private *dev_priv) I915_WRITE(GEN11_DE_HPD_IMR, val); POSTING_READ(GEN11_DE_HPD_IMR); - gen11_hpd_detection_setup(dev_priv); + gen11_tc_hpd_detection_setup(dev_priv); + gen11_tbt_hpd_detection_setup(dev_priv); if (INTEL_PCH_TYPE(dev_priv) >= PCH_TGP) icp_hpd_irq_setup(dev_priv, @@ -3603,7 +3609,8 @@ static void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv) GEN3_IRQ_INIT(uncore, GEN11_DE_HPD_, ~de_hpd_masked, de_hpd_enables); - gen11_hpd_detection_setup(dev_priv); + gen11_tc_hpd_detection_setup(dev_priv); + gen11_tbt_hpd_detection_setup(dev_priv); } else if (IS_GEN9_LP(dev_priv)) { bxt_hpd_detection_setup(dev_priv); } else if (IS_BROADWELL(dev_priv)) {