06-21-2020, 03:11 PM
(06-19-2020, 07:24 PM)shawnanastasio Wrote: A small update.
It seems that the failing component is the display's Panel Self-Refresh feature which results in the DisplayPort bus being re-link trained frequently. My current theory is that this link training occasionally fails and results in the frame skips.
By disabling the PSR feature entirely in the kernel with a patch like this, the issue goes away and the laptop becomes usable. This is more of a workaround than an actual fix though, and I do believe the hardware is faulty here.
In case anybody is curious or runs into this issue and wants to try the workaround, here's the patch:
Code:diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 76736fb8e..a49dd6b3c 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -978,12 +978,13 @@ static int analogix_dp_commit(struct analogix_dp_device *dp)
ret = analogix_dp_fast_link_train_detection(dp);
if (ret)
return ret;
-
+ /*
if (analogix_dp_detect_sink_psr(dp)) {
ret = analogix_dp_enable_sink_psr(dp);
if (ret)
return ret;
}
+ */
return ret;
}
As a linux novice, do you have any resources that would point me in the right direction to apply this fix myself?