From c7530c70e45eccd45065aae2c998f0c1fbf45b6a Mon Sep 17 00:00:00 2001 From: Wyon Bi Date: Thu, 12 Nov 2020 14:40:31 +0800 Subject: [PATCH] drm/bridge: analogix_dp: Fix enhanced framing capability in fast training Signed-off-by: Wyon Bi Change-Id: Ib192b52e2421d558c4c7fd5e6683bbaf99a43d5c --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 4 +++- drivers/gpu/drm/bridge/analogix/analogix_dp_core.h | 1 + 2 files changed, 4 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 d294071e7761..b13eebf12d3c 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -259,6 +259,8 @@ static int analogix_dp_set_enhanced_mode(struct analogix_dp_device *dp) analogix_dp_enable_enhanced_mode(dp, data); + dp->link_train.enhanced_framing = data; + return 0; } @@ -688,6 +690,7 @@ static int analogix_dp_fast_link_train(struct analogix_dp_device *dp) analogix_dp_set_link_bandwidth(dp, dp->link_train.link_rate); analogix_dp_set_lane_count(dp, dp->link_train.lane_count); analogix_dp_set_lane_link_training(dp); + analogix_dp_enable_enhanced_mode(dp, dp->link_train.enhanced_framing); /* source Set training pattern 1 */ analogix_dp_set_training_pattern(dp, TRAINING_PTN1); @@ -698,7 +701,6 @@ static int analogix_dp_fast_link_train(struct analogix_dp_device *dp) /* From DP spec, pattern must be on-screen for a minimum 500us */ usleep_range(500, 600); - /* TODO: enhanced_mode?*/ analogix_dp_set_training_pattern(dp, DP_NONE); /* diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h index 90fedb7cde39..3bed7b03bea9 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h @@ -154,6 +154,7 @@ struct link_train { u8 lane_count; u8 training_lane[4]; bool ssc; + bool enhanced_framing; enum link_training_state lt_state; };