From db9eaf1a4e14d5055b3f2d2504b64b7b7e437566 Mon Sep 17 00:00:00 2001 From: Wyon Bi Date: Wed, 27 Mar 2019 17:14:46 +0800 Subject: [PATCH] drm/rockchip: cdn-dp: Compliant with eDP receiver enhanced frame capability On an eDP connection, the eDP sink must operate only in Enhanced Framing Mode. The Source must send only Enhanced Framing on the main link, and must only write a '0' to DPCD 00101h: LANE_COUNT_SET Bit 7: ENHANCED_FRAME_EN bit. Independent of method used, DP1.2-compliant eDP Receivers shall indicate any eDP protocol differentiation method they support through the Receiver Capability Field of DPCD (DPCD:0000Dh). Change-Id: Ia57f3242c16e2ace0c13076992c2c14eda9e7ca7 Signed-off-by: Wyon Bi --- drivers/gpu/drm/rockchip/cdn-dp-link-training.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/cdn-dp-link-training.c b/drivers/gpu/drm/rockchip/cdn-dp-link-training.c index f5c0f6924352..08962e96b17c 100644 --- a/drivers/gpu/drm/rockchip/cdn-dp-link-training.c +++ b/drivers/gpu/drm/rockchip/cdn-dp-link-training.c @@ -69,7 +69,13 @@ static int cdn_dp_set_pattern(struct cdn_dp_device *dp, uint8_t dp_train_pat) return ret; } - if (drm_dp_enhanced_frame_cap(dp->dpcd)) + if (drm_dp_enhanced_frame_cap(dp->dpcd) || + /* + * A setting of 1 indicates that this is an eDP device that uses + * only Enhanced Framing, independently of the setting by the + * source of ENHANCED_FRAME_EN + */ + dp->dpcd[DP_EDP_CONFIGURATION_CAP] & DP_FRAMING_CHANGE_CAP) ret = cdn_dp_reg_write(dp, DPTX_ENHNCD, 1); else ret = cdn_dp_reg_write(dp, DPTX_ENHNCD, 0);