2020-06-26 04:49:43

by Shawn Anastasio

[permalink] [raw]
Subject: [PATCH 0/1] drm/bridge: analogix_dp: Add PSR toggle

This patch adds a commandline toggle for the Panel Self-Refresh feature
to the analogix_dp bridge driver, much like the one in i915.

This is required to work around a hardware fault in some Pinebook Pro units
from the May 2020 batch whose display panels seem to behave sporadically
when PSR is enabled.

Shawn Anastasio (1):
drm/bridge: analogix_dp: Add enable_psr param

drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

--
2.26.2


2020-06-26 04:51:36

by Shawn Anastasio

[permalink] [raw]
Subject: [PATCH 1/1] drm/bridge: analogix_dp: Add enable_psr param

Add a toggle to enable/disable PSR from the kernel commandline.
This is useful in situations where PSR is supported by the hardware
but is not desired by the user. One such use case is working around
hardware errata.

Signed-off-by: Shawn Anastasio <[email protected]>
---
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 76736fb8ed94..9735ab71fca7 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -35,6 +35,10 @@

static const bool verify_fast_training;

+static bool enable_psr = true;
+module_param(enable_psr, bool, 0644);
+MODULE_PARM_DESC(enable_psr, "PSR support (1 = enabled (default), 0 = disabled)");
+
struct bridge_init {
struct i2c_client *client;
struct device_node *node;
@@ -979,7 +983,7 @@ static int analogix_dp_commit(struct analogix_dp_device *dp)
if (ret)
return ret;

- if (analogix_dp_detect_sink_psr(dp)) {
+ if (enable_psr && analogix_dp_detect_sink_psr(dp)) {
ret = analogix_dp_enable_sink_psr(dp);
if (ret)
return ret;
--
2.26.2