[Intel-gfx] [PATCH] drm/i915/hotplug: Reduce SHPD_FILTER to 250us

Shankar, Uma uma.shankar at intel.com
Mon Jul 17 06:24:09 UTC 2023



> -----Original Message-----
> From: Kandpal, Suraj <suraj.kandpal at intel.com>
> Sent: Friday, July 14, 2023 11:44 AM
> To: intel-gfx at lists.freedesktop.org
> Cc: Kandpal, Suraj <suraj.kandpal at intel.com>; Shankar, Uma
> <uma.shankar at intel.com>; Ville Syrjala <ville.syrjala at linux.intel.com>
> Subject: [PATCH] drm/i915/hotplug: Reduce SHPD_FILTER to 250us
> 
> Reduce SHPD_FILTER to 250us for ADL and above. This solution was derived when
> the below patch was floated.
> [1]https://patchwork.freedesktop.org/patch/532187
> and after some internal discussion Ville's suggestion made sense.

You can give the exact reasoning why this change is required.
Be specific on the issue and the fix.

Regards,
Uma Shankar

> Bspec: 68970
> 
> Cc: Uma Shankar <uma.shankar at intel.com>
> Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 4 +++-
>  drivers/gpu/drm/i915/i915_reg.h                  | 1 +
>  2 files changed, 4 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 f95fa793fabb..95a7ea94f417 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
> @@ -842,6 +842,8 @@ static void icp_hpd_irq_setup(struct drm_i915_private
> *dev_priv)
> 
>  	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);
> 
>  	ibx_display_interrupt_update(dev_priv, hotplug_irqs, enabled_irqs);
> 
> @@ -1049,7 +1051,7 @@ static void mtp_hpd_irq_setup(struct drm_i915_private
> *i915)
>  	enabled_irqs = intel_hpd_enabled_irqs(i915, i915->display.hotplug.pch_hpd);
>  	hotplug_irqs = intel_hpd_hotplug_irqs(i915, i915->display.hotplug.pch_hpd);
> 
> -	intel_de_write(i915, SHPD_FILTER_CNT, SHPD_FILTER_CNT_500_ADJ);
> +	intel_de_write(i915, SHPD_FILTER_CNT, SHPD_FILTER_CNT_250);
> 
>  	mtp_hpd_invert(i915);
>  	ibx_display_interrupt_update(i915, hotplug_irqs, enabled_irqs); diff --git
> a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index
> dcf64e32cd54..aefad14ab27a 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -4939,6 +4939,7 @@
> 
>  #define SHPD_FILTER_CNT				_MMIO(0xc4038)
>  #define   SHPD_FILTER_CNT_500_ADJ		0x001D9
> +#define   SHPD_FILTER_CNT_250			0x000F8
> 
>  #define _PCH_DPLL_A              0xc6014
>  #define _PCH_DPLL_B              0xc6018
> --
> 2.25.1



More information about the Intel-gfx mailing list