[PATCH 1/2] drm/i915/hotplug: Reduce SHPD_FLITER_CNT for Display12

Suraj Kandpal suraj.kandpal at intel.com
Tue Sep 17 05:23:06 UTC 2024


Reduce SHPD_CNT to 250us for Display12 to implement WA 14013120569
in a alternative way. Its not what the Wa asks to do but has the same
effect which would be detecting shpd when it is less than 250us and
this would be okay as it lines up with DP1.4a(Table3-4) spec.

Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
---
 drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
index 2c4e946d5575..05a9e82cac75 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
@@ -849,7 +849,12 @@ static void icp_hpd_irq_setup(struct drm_i915_private *dev_priv)
 	enabled_irqs = intel_hpd_enabled_irqs(dev_priv, dev_priv->display.hotplug.pch_hpd);
 	hotplug_irqs = intel_hpd_hotplug_irqs(dev_priv, dev_priv->display.hotplug.pch_hpd);
 
-	if (INTEL_PCH_TYPE(dev_priv) <= PCH_TGP)
+	/*
+	 * As an alternative to WA_14013120569 we reduce the value to 250us to be able to
+	 * detect SHPD when an external display is connected. This is also expected of
+	 * us as stated in DP1.4a Table 3-4.
+	 */
+	if (INTEL_PCH_TYPE(dev_priv) < PCH_TGP)
 		intel_uncore_write(&dev_priv->uncore, SHPD_FILTER_CNT, SHPD_FILTER_CNT_500_ADJ);
 	else
 		intel_uncore_write(&dev_priv->uncore, SHPD_FILTER_CNT, SHPD_FILTER_CNT_250);
-- 
2.43.2



More information about the Intel-gfx mailing list