[PATCH 1/2] drm/i915/hotplug: Reduce SHPD_FLITER_CNT for DISPLAY_VER() == 12
Kandpal, Suraj
suraj.kandpal at intel.com
Tue Sep 24 05:17:25 UTC 2024
> -----Original Message-----
> From: Roper, Matthew D <matthew.d.roper at intel.com>
> Sent: Monday, September 23, 2024 11:39 PM
> To: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: Kandpal, Suraj <suraj.kandpal at intel.com>; intel-gfx at lists.freedesktop.org;
> Shankar, Uma <uma.shankar at intel.com>
> Subject: Re: [PATCH 1/2] drm/i915/hotplug: Reduce SHPD_FLITER_CNT for
> DISPLAY_VER() == 12
>
> On Mon, Sep 23, 2024 at 08:38:35PM +0300, Ville Syrjälä wrote:
> > On Mon, Sep 23, 2024 at 08:40:07AM +0530, Suraj Kandpal wrote:
> > > Reduce SHPD_CNT to 250us for display version 12 as it lines up with
> > > DP1.4a(Table3-4) spec.
> > >
> > > --v2
> > > -Update commit message and comment [Matt]
> > >
> > > Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> > > ---
> > > drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 6 +++++-
> > > 1 file changed, 5 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..8427386132e6 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c
> > > @@ -849,7 +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)
> > > + /*
> > > + * 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);
> >
> > IMO if we start reducing this for older platforms then we should just
> > do it for all of them, instead of based on some random cutoff.
>
> There is a note in the bspec (page 4342) that says
>
> "Program SHPD_FILTER_CNT with the "500 microseconds adjusted"
> value before enabling hotplug detection."
>
> for CNP and ICP which is where the cutoff originally came from. I'm not sure
> about CML (which uses CNP), but ICL at least supports DP1.4a, so I think the
> note in the bspec is probably just outdated and we'd still want 250 to ensure we
> align with the DP spec.
>
> So I'd suggest just dropping the condition in this function and using 250us here.
> We can probably leave things be in spt_hpd_irq_setup which gets used for
> CML/CNP.
>
Sure will do that
Regards,
Suraj Kandpal
>
> Matt
>
> >
> > --
> > Ville Syrjälä
> > Intel
>
> --
> Matt Roper
> Graphics Software Engineer
> Linux GPU Platform Enablement
> Intel Corporation
More information about the Intel-gfx
mailing list