| 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 = { |