[Intel-gfx] [PATCH 2/2] Apply quirk to disable PSR 2 on Tongfang PHxTxX1 and PHxTQx1

Hogander, Jouni jouni.hogander at intel.com
Thu Feb 23 06:27:11 UTC 2023


On Wed, 2023-02-22 at 15:13 -0500, Rodrigo Vivi wrote:
> On Wed, Feb 22, 2023 at 03:17:55PM +0100, Werner Sembach wrote:
> > On these Barebones PSR 2 is recognized as supported but is very
> > buggy:
> > - Upper third of screen does sometimes not updated, resulting in
> > disappearing cursors or ghosts of already closed Windows saying
> > behind.
> > - Approximately 40 px from the bottom edge a 3 pixel wide strip of
> > randomly
> > colored pixels is flickering.
> > 
> > PSR 1 is working fine however.
> 
> I wonder if this is really about the panel's PSR2 or about the
> userspace
> there not marking the dirtyfb? I know I know... it is not userspace
> fault...
> 
> But I wonder if the case you got here highlights the fact that we
> have
> a substantial bug in the i915 itself in regards to PSR2 API.
> 
> Jose, Jouni, ideas on how to check what could be happening here?

There is already fix for this (Thanks to Werner Sembach for testing the
patch):

https://patchwork.freedesktop.org/series/114217/

> 
> oh, btw, Werner, do we have an  open gilab issue for this?

https://gitlab.freedesktop.org/drm/intel/-/issues/7347

> 
> Thanks,
> Rodrigo.
> 
> > 
> > Signed-off-by: Werner Sembach <wse at tuxedocomputers.com>
> > Cc: <stable at vger.kernel.org>
> > ---
> >  drivers/gpu/drm/i915/display/intel_quirks.c | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c
> > b/drivers/gpu/drm/i915/display/intel_quirks.c
> > index ce6d0fe6448f5..eeb32d3189f5c 100644
> > --- a/drivers/gpu/drm/i915/display/intel_quirks.c
> > +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
> > @@ -65,6 +65,10 @@ static void
> > quirk_no_pps_backlight_power_hook(struct drm_i915_private *i915)
> >         drm_info(&i915->drm, "Applying no pps backlight power
> > quirk\n");
> >  }
> >  
> > +/*
> > + * Tongfang PHxTxX1 and PHxTQx1 devices have support for PSR 2 but
> > it is broken
> > + * on Linux. PSR 1 however works just fine.
> > + */
> >  static void quirk_no_psr2(struct drm_i915_private *i915)
> >  {
> >         intel_set_quirk(i915, QUIRK_NO_PSR2);
> > @@ -205,6 +209,10 @@ static struct intel_quirk intel_quirks[] = {
> >         /* ECS Liva Q2 */
> >         { 0x3185, 0x1019, 0xa94d, quirk_increase_ddi_disabled_time
> > },
> >         { 0x3184, 0x1019, 0xa94d, quirk_increase_ddi_disabled_time
> > },
> > +
> > +       /* Tongfang PHxTxX1 and PHxTQx1/TUXEDO InfinityBook 14 Gen6
> > */
> > +       { 0x9a49, 0x1d05, 0x1105, quirk_no_psr2 },
> > +       { 0x9a49, 0x1d05, 0x114c, quirk_no_psr2 },
> >  };
> >  
> >  void intel_init_quirks(struct drm_i915_private *i915)
> > -- 
> > 2.34.1
> > 



More information about the dri-devel mailing list