drm/i915/hotplug: Reduce SHPD_FLITER_CNT for ICL and above
authorSuraj Kandpal <suraj.kandpal@intel.com>
Tue, 24 Sep 2024 07:34:51 +0000 (13:04 +0530)
committerSuraj Kandpal <suraj.kandpal@intel.com>
Fri, 27 Sep 2024 04:22:35 +0000 (09:52 +0530)
Reduce SHPD_CNT to 250us for ICL and above as it lines up
with DP1.4a(Table3-4) spec.

--v2
-Update commit message and comment [Matt]

--v3
-drop condition and use value of 250us for ICL and above [Matt]

Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924073450.1261535-2-suraj.kandpal@intel.com
drivers/gpu/drm/i915/display/intel_hotplug_irq.c

index 2c4e946..3a105cf 100644 (file)
@@ -849,10 +849,11 @@ 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)
-               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);
+       /*
+        * 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.
+        */
+       intel_uncore_write(&dev_priv->uncore, SHPD_FILTER_CNT, SHPD_FILTER_CNT_250);
 
        ibx_display_interrupt_update(dev_priv, hotplug_irqs, enabled_irqs);