diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3017-drm-amd-display-No-audio-endpoint-for-Dell-MST-displ.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3017-drm-amd-display-No-audio-endpoint-for-Dell-MST-displ.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3017-drm-amd-display-No-audio-endpoint-for-Dell-MST-displ.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3017-drm-amd-display-No-audio-endpoint-for-Dell-MST-displ.patch new file mode 100644 index 00000000..643d3197 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3017-drm-amd-display-No-audio-endpoint-for-Dell-MST-displ.patch @@ -0,0 +1,55 @@ +From 60171cb83f2722df1279f0775031f0082a375051 Mon Sep 17 00:00:00 2001 +From: Harmanprit Tatla <harmanprit.tatla@amd.com> +Date: Tue, 4 Jun 2019 14:12:21 -0400 +Subject: [PATCH 3017/4256] drm/amd/display: No audio endpoint for Dell MST + display + +[Why] +There are certain MST displays (i.e. Dell P2715Q) +that although have the MST feature set to off may still +report it is a branch device and a non-zero +value for downstream port present. +This can lead to us incorrectly classifying a +dp dongle connection as being active and +disabling the audio endpoint for the display. + +[How] +Modified the placement and +condition used to assign +the is_branch_dev bit. + +Signed-off-by: Harmanprit Tatla <harmanprit.tatla@amd.com> +Reviewed-by: Aric Cyr <aric.cyr@amd.com> +Acked-by: Anthony Koo <Anthony.Koo@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +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 3f8a8f61cd76..fca1bfc901b6 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 +@@ -2369,11 +2369,18 @@ static void get_active_converter_info( + link->dpcd_caps.dongle_type = DISPLAY_DONGLE_NONE; + ddc_service_set_dongle_type(link->ddc, + link->dpcd_caps.dongle_type); ++ link->dpcd_caps.is_branch_dev = false; + return; + } + + /* DPCD 0x5 bit 0 = 1, it indicate it's branch device */ +- link->dpcd_caps.is_branch_dev = ds_port.fields.PORT_PRESENT; ++ if (ds_port.fields.PORT_TYPE == DOWNSTREAM_DP) { ++ link->dpcd_caps.is_branch_dev = false; ++ } ++ ++ else { ++ link->dpcd_caps.is_branch_dev = ds_port.fields.PORT_PRESENT; ++ } + + switch (ds_port.fields.PORT_TYPE) { + case DOWNSTREAM_VGA: +-- +2.17.1 + |