Re: [Intel-gfx] [PATCH v3] drm/i915/dp: Use max params for panels < eDP 1.4
From: Rodrigo Vivi
Date: Mon Aug 30 2021 - 12:43:05 EST
On Thu, Aug 26, 2021 at 01:37:34PM -0400, Rodrigo Vivi wrote:
> On Fri, Aug 20, 2021 at 08:26:14PM +0300, Ville Syrjälä wrote:
> > On Fri, Aug 20, 2021 at 03:52:59PM +0800, Kai-Heng Feng wrote:
> > > Users reported that after commit 2bbd6dba84d4 ("drm/i915: Try to use
> > > fast+narrow link on eDP again and fall back to the old max strategy on
> > > failure"), the screen starts to have wobbly effect.
> > >
> > > Commit a5c936add6a2 ("drm/i915/dp: Use slow and wide link training for
> > > everything") doesn't help either, that means the affected eDP 1.2 panels
> > > only work with max params.
> > >
> > > So use max params for panels < eDP 1.4 as Windows does to solve the
> > > issue.
> > >
> > > v3:
> > > - Do the eDP rev check in intel_edp_init_dpcd()
> > >
> > > v2:
> > > - Check eDP 1.4 instead of DPCD 1.1 to apply max params
> > >
> > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3714
> > > Fixes: 2bbd6dba84d4 ("drm/i915: Try to use fast+narrow link on eDP again and fall back to the old max strategy on failure")
> > > Fixes: a5c936add6a2 ("drm/i915/dp: Use slow and wide link training for everything")
> > > Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
> >
> > Slapped a cc:stable on it and pushed to drm-intel-next. Thanks.
>
> Since I got a strange failure on CI_DIF_604 that I don't see on CI_DIF_603,
> I'm avoiding the display patches. This one and also
> dab1b47e57e0 ("drm/i915/dp: return proper DPRX link training result")
>
> I know, it is probably the other one, but I had to remove both patches for
> now and I'm not confident the CI will allow me to test with this one alone.
>
> If we have -rc8 I will check again later. Otherwise we will have to send
> to the stable mailing list later.
CI didn't run on TGL again, so I couldn't send this patch last week.
And 5.14 got released.
If this is important for 5.14 or any other stable release, please
confirm this is not the one breaking linking training on TGL and then
please send it to the stable mailing list.
https://www.kernel.org/doc/Documentation/process/stable-kernel-rules.rst
Sorry,
Rodrigo.
>
> >
> > > ---
> > > drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++-
> > > 1 file changed, 4 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> > > index 75d4ebc669411..e0dbd35ae7bc0 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > > @@ -2445,11 +2445,14 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp)
> > > */
> > > if (drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_DPCD_REV,
> > > intel_dp->edp_dpcd, sizeof(intel_dp->edp_dpcd)) ==
> > > - sizeof(intel_dp->edp_dpcd))
> > > + sizeof(intel_dp->edp_dpcd)) {
> > > drm_dbg_kms(&dev_priv->drm, "eDP DPCD: %*ph\n",
> > > (int)sizeof(intel_dp->edp_dpcd),
> > > intel_dp->edp_dpcd);
> > >
> > > + intel_dp->use_max_params = intel_dp->edp_dpcd[0] < DP_EDP_14;
> > > + }
> > > +
> > > /*
> > > * This has to be called after intel_dp->edp_dpcd is filled, PSR checks
> > > * for SET_POWER_CAPABLE bit in intel_dp->edp_dpcd[1]
> > > --
> > > 2.32.0
> >
> > --
> > Ville Syrjälä
> > Intel