drm/bridge: analogix_dp: clear psr_support when disable_bridge

Caesar Wang wxt at rock-chips.com
Tue Nov 8 19:53:34 PST 2016

From: zain wang <wzz at rock-chips.com>

Don't run psr work during enabling bridge when you restart ui, it may make
link training fail since there is a race between them in AUX CH resource.

Signed-off-by: zain wang <wzz at rock-chips.com>
Signed-off-by: Caesar Wang <wxt at rock-chips.com>
Cc: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Cc: dri-devel at lists.freedesktop.org
Cc: Sean Paul <seanpaul at chromium.org>

- The training issue is gone with this patch,
  there are four machines have passed the 10000 cycles with S2R tests.
- Verified on ChromeOS kernelv4.4.

 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 6e0447f..4431f62 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1117,6 +1117,7 @@ static void analogix_dp_bridge_disable(struct drm_bridge *bridge)
 	if (ret)
 		DRM_ERROR("failed to setup the panel ret = %d\n", ret);
+	dp->psr_support = false;
 	dp->dpms_mode = DRM_MODE_DPMS_OFF;

More information about the Linux-rockchip mailing list