37 lines
1.3 KiB
Diff
37 lines
1.3 KiB
Diff
From 06b758a32bb5ca164cff60f20173ecd71508c5ae Mon Sep 17 00:00:00 2001
|
|
From: Sandor Yu <Sandor.yu@nxp.com>
|
|
Date: Mon, 9 Dec 2019 17:58:29 +0800
|
|
Subject: [PATCH] LF-323-2: drm/bridge/cdns: enhance link training stability
|
|
|
|
Remove drm_dp_link_power_down from bridge_disable function,
|
|
in case some DP sinks aren't follow DP 1.1 specification
|
|
and can not exit the power saving state within 1 ms.
|
|
Add drm_dp_link_power_up to bridge_enable function,
|
|
make sure DP sinks are power up before link training.
|
|
|
|
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
|
Reviewed-by: Robby Cai <robby.cai@nxp.com>
|
|
---
|
|
drivers/gpu/drm/bridge/cadence/cdns-dp-core.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c
|
|
+++ b/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c
|
|
@@ -329,6 +329,8 @@ static void cdn_hdp_bridge_enable(struct
|
|
struct cdns_mhdp_device *mhdp = bridge->driver_private;
|
|
int ret;
|
|
|
|
+ drm_dp_link_power_up(&mhdp->dp.aux, &mhdp->dp.link);
|
|
+
|
|
/* Link trainning */
|
|
ret = cdns_mhdp_train_link(mhdp);
|
|
if (ret) {
|
|
@@ -348,7 +350,6 @@ static void cdn_hdp_bridge_disable(struc
|
|
struct cdns_mhdp_device *mhdp = bridge->driver_private;
|
|
|
|
cdns_mhdp_set_video_status(mhdp, CONTROL_VIDEO_IDLE);
|
|
- drm_dp_link_power_down(&mhdp->dp.aux, &mhdp->dp.link);
|
|
}
|
|
|
|
static const struct drm_bridge_funcs cdns_dp_bridge_funcs = {
|