From 55bac4a77a86690402dc9462455438c84783394f Mon Sep 17 00:00:00 2001 From: Wenjing Liu Date: Mon, 3 May 2021 14:51:27 -0400 Subject: [PATCH] drm/amd/display: determine dp link encoding format from link settings [how] Implement a function that determines link encoding format based on the link settings passed in. Signed-off-by: Wenjing Liu Reviewed-by: George Shen Acked-by: Stylon Wang Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 7 +++++++ drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 5 +++++ drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h | 1 + 3 files changed, 13 insertions(+) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c index 74c62cb..b3b9b73 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c @@ -4852,4 +4852,11 @@ bool is_edp_ilr_optimization_required(struct dc_link *link, struct dc_crtc_timin return false; } +enum dp_link_encoding dp_get_link_encoding_format(const struct dc_link_settings *link_settings) +{ + if ((link_settings->link_rate >= LINK_RATE_LOW) && + (link_settings->link_rate <= LINK_RATE_HIGH3)) + return DP_8b_10b_ENCODING; + return DP_UNKNOWN_ENCODING; +} diff --git a/drivers/gpu/drm/amd/display/dc/dc_dp_types.h b/drivers/gpu/drm/amd/display/dc/dc_dp_types.h index fcfde2e0..1948cd9 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_dp_types.h +++ b/drivers/gpu/drm/amd/display/dc/dc_dp_types.h @@ -98,6 +98,11 @@ enum dc_dp_training_pattern { DP_TRAINING_PATTERN_VIDEOIDLE, }; +enum dp_link_encoding { + DP_UNKNOWN_ENCODING = 0, + DP_8b_10b_ENCODING = 1, +}; + struct dc_link_settings { enum dc_lane_count lane_count; enum dc_link_rate link_rate; diff --git a/drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h b/drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h index 4288425..ffc3f2c 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h +++ b/drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h @@ -105,4 +105,5 @@ enum link_training_result dp_check_link_loss_status( struct dc_link *link, const struct link_training_settings *link_training_setting); +enum dp_link_encoding dp_get_link_encoding_format(const struct dc_link_settings *link_settings); #endif /* __DC_LINK_DP_H__ */ -- 2.7.4