diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1222-drm-amd-display-link_rate_set-should-index-into-tabl.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/1222-drm-amd-display-link_rate_set-should-index-into-tabl.patch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1222-drm-amd-display-link_rate_set-should-index-into-tabl.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1222-drm-amd-display-link_rate_set-should-index-into-tabl.patch new file mode 100644 index 00000000..35293344 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1222-drm-amd-display-link_rate_set-should-index-into-tabl.patch @@ -0,0 +1,79 @@ +From b79159d92026b3e1a482ee39d265c2bc5552299c Mon Sep 17 00:00:00 2001 +From: Anthony Koo <Anthony.Koo@amd.com> +Date: Fri, 25 Jan 2019 11:50:31 -0500 +Subject: [PATCH 1222/2940] drm/amd/display: link_rate_set should index into + table + +[Why] +Current implementation that maps link_rate_set value to +actual link rate is incorrect. + +[How] +Fix this implementation, such that link_rate_set indexes into +the supported_link_rate table. + +Change-Id: I5ff7f7e25951c442240698835526de1ff5400b89 +Signed-off-by: Anthony Koo <Anthony.Koo@amd.com> +Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> +Acked-by: Aric Cyr <Aric.Cyr@amd.com> +Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> +--- + .../gpu/drm/amd/display/dc/core/dc_link_dp.c | 35 +------------------ + 1 file changed, 1 insertion(+), 34 deletions(-) + +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 5ee36d6e0512..09d301216076 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 +@@ -2540,7 +2540,6 @@ void detect_edp_sink_caps(struct dc_link *link) + uint32_t entry; + uint32_t link_rate_in_khz; + enum dc_link_rate link_rate = LINK_RATE_UNKNOWN; +- uint8_t link_rate_set = 0; + + retrieve_link_cap(link); + +@@ -2560,39 +2559,7 @@ void detect_edp_sink_caps(struct dc_link *link) + link_rate = linkRateInKHzToLinkRateMultiplier(link_rate_in_khz); + if (link->reported_link_cap.link_rate < link_rate) { + link->reported_link_cap.link_rate = link_rate; +- +- switch (link_rate) { +- case LINK_RATE_LOW: +- link_rate_set = 1; +- break; +- case LINK_RATE_RATE_2: +- link_rate_set = 2; +- break; +- case LINK_RATE_RATE_3: +- link_rate_set = 3; +- break; +- case LINK_RATE_HIGH: +- link_rate_set = 4; +- break; +- case LINK_RATE_RBR2: +- link_rate_set = 5; +- break; +- case LINK_RATE_RATE_6: +- link_rate_set = 6; +- break; +- case LINK_RATE_HIGH2: +- link_rate_set = 7; +- break; +- case LINK_RATE_HIGH3: +- link_rate_set = 8; +- break; +- default: +- link_rate_set = 0; +- break; +- } +- +- if (link->dpcd_caps.link_rate_set < link_rate_set) +- link->dpcd_caps.link_rate_set = link_rate_set; ++ link->dpcd_caps.link_rate_set = entry; + } + } + } +-- +2.17.1 + |