> -----Original Message-----
> From: Kandpal, Suraj <[email protected]>
> Sent: Friday, July 14, 2023 11:44 AM
> To: [email protected]
> Cc: Kandpal, Suraj <[email protected]>; Shankar, Uma
> <[email protected]>; Ville Syrjala <[email protected]>
> 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 <[email protected]>
> Cc: Ville Syrjala <[email protected]>
> Signed-off-by: Suraj Kandpal <[email protected]>
> ---
> 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