diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4720-drm-amd-display-Fix-DP-HBR2-Eye-Diagram-Pattern-on-C.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4720-drm-amd-display-Fix-DP-HBR2-Eye-Diagram-Pattern-on-C.patch | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4720-drm-amd-display-Fix-DP-HBR2-Eye-Diagram-Pattern-on-C.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4720-drm-amd-display-Fix-DP-HBR2-Eye-Diagram-Pattern-on-C.patch new file mode 100644 index 00000000..acdefaac --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4720-drm-amd-display-Fix-DP-HBR2-Eye-Diagram-Pattern-on-C.patch @@ -0,0 +1,85 @@ +From e511ec9c7fcc6971a09ad67cec72840270b59585 Mon Sep 17 00:00:00 2001 +From: Hersen Wu <hersenxs.wu@amd.com> +Date: Mon, 16 Jul 2018 11:21:12 -0400 +Subject: [PATCH 4720/5725] drm/amd/display: Fix DP HBR2 Eye Diagram Pattern on + Carrizo + +[why] dp hbr2 eye diagram pattern for raven asic is not stabled. +workaround is to use tp4 pattern. But this should not be +applied to asic before raven. + +[how] add new bool varilable in asic caps. for raven asic, +use the workaround. for carrizo, vega, do not use workaround. + +Signed-off-by: Hersen Wu <hersenxs.wu@amd.com> +Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 8 +++----- + drivers/gpu/drm/amd/display/dc/dc.h | 1 + + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 2 ++ + 3 files changed, 6 insertions(+), 5 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 72a8a55..d14b543 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 +@@ -1771,12 +1771,10 @@ static void dp_test_send_link_training(struct dc_link *link) + dp_retrain_link_dp_test(link, &link_settings, false); + } + +-/* TODO hbr2 compliance eye output is unstable ++/* TODO Raven hbr2 compliance eye output is unstable + * (toggling on and off) with debugger break + * This caueses intermittent PHY automation failure + * Need to look into the root cause */ +-static uint8_t force_tps4_for_cp2520 = 1; +- + static void dp_test_send_phy_test_pattern(struct dc_link *link) + { + union phy_test_pattern dpcd_test_pattern; +@@ -1836,13 +1834,13 @@ static void dp_test_send_phy_test_pattern(struct dc_link *link) + break; + case PHY_TEST_PATTERN_CP2520_1: + /* CP2520 pattern is unstable, temporarily use TPS4 instead */ +- test_pattern = (force_tps4_for_cp2520 == 1) ? ++ test_pattern = (link->dc->caps.force_dp_tps4_for_cp2520 == 1) ? + DP_TEST_PATTERN_TRAINING_PATTERN4 : + DP_TEST_PATTERN_HBR2_COMPLIANCE_EYE; + break; + case PHY_TEST_PATTERN_CP2520_2: + /* CP2520 pattern is unstable, temporarily use TPS4 instead */ +- test_pattern = (force_tps4_for_cp2520 == 1) ? ++ test_pattern = (link->dc->caps.force_dp_tps4_for_cp2520 == 1) ? + DP_TEST_PATTERN_TRAINING_PATTERN4 : + DP_TEST_PATTERN_HBR2_COMPLIANCE_EYE; + break; +diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h +index 23a5045..096098e 100644 +--- a/drivers/gpu/drm/amd/display/dc/dc.h ++++ b/drivers/gpu/drm/amd/display/dc/dc.h +@@ -77,6 +77,7 @@ struct dc_caps { + bool is_apu; + bool dual_link_dvi; + bool post_blend_color_processing; ++ bool force_dp_tps4_for_cp2520; + }; + + struct dc_dcc_surface_param { +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c +index 99c223b..a2318ca 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c +@@ -1028,6 +1028,8 @@ static bool construct( + dc->caps.max_slave_planes = 1; + dc->caps.is_apu = true; + dc->caps.post_blend_color_processing = false; ++ /* Raven DP PHY HBR2 eye diagram pattern is not stable. Use TP4 */ ++ dc->caps.force_dp_tps4_for_cp2520 = true; + + if (dc->ctx->dce_environment == DCE_ENV_PRODUCTION_DRV) + dc->debug = debug_defaults_drv; +-- +2.7.4 + |