diff mbox series

[1/2] drm/i915/hotplug: Reduce SHPD_FLITER_CNT for ICL and above

Message ID 20240924073450.1261535-2-suraj.kandpal@intel.com (mailing list archive)
State New, archived
Headers show
Series [1/2] drm/i915/hotplug: Reduce SHPD_FLITER_CNT for ICL and above | expand

Commit Message

Kandpal, Suraj Sept. 24, 2024, 7:34 a.m. UTC
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>
---
 drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Matt Roper Sept. 26, 2024, 5:55 p.m. UTC | #1
On Tue, Sep 24, 2024 at 01:04:51PM +0530, Suraj Kandpal wrote:
> 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>


Ville did mention that the 250us value is also present in older
revisions of the DP spec so maybe we will want to also adjust some of
the older platforms at some point.  But that can happen in followup
patch(es).


Matt

> ---
>  drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
> index 2c4e946d5575..3a105cfd3c90 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
> @@ -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);
>  
> -- 
> 2.43.2
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
index 2c4e946d5575..3a105cfd3c90 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
@@ -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);