diff mbox series

[v2,13/19] drm/i915: Split gen11_hpd_detection_setup() into tc vs. tbt variants

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

Commit Message

Ville Syrjälä Oct. 23, 2020, 1:34 p.m. UTC
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>
---
 drivers/gpu/drm/i915/i915_irq.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

Comments

Lucas De Marchi Oct. 23, 2020, 7:23 p.m. UTC | #1
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 mbox series

Patch

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)) {