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

From: Werner Sembach
Date: Thu Feb 23 2023 - 07:16:28 EST



Am 23.02.23 um 07:27 schrieb Hogander, Jouni:
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/

Yes, thanks for creating that patch ^^

I posted this quirk patch just as an possible alternative for stable if that other patch is considered not suitable for it (lets wait and see).

And to get some feedback if something like this could be a viable workaround if similar bugs appear in the future.


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@xxxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
---
 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