diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5048-drm-amd-display-add-vbios-table-check-for-enabling-d.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/5048-drm-amd-display-add-vbios-table-check-for-enabling-d.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5048-drm-amd-display-add-vbios-table-check-for-enabling-d.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5048-drm-amd-display-add-vbios-table-check-for-enabling-d.patch new file mode 100644 index 00000000..a78b1d76 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5048-drm-amd-display-add-vbios-table-check-for-enabling-d.patch @@ -0,0 +1,73 @@ +From af1fe386f732bce046ff4f76c6038c8162250eb1 Mon Sep 17 00:00:00 2001 +From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> +Date: Wed, 18 Jul 2018 15:25:34 -0400 +Subject: [PATCH 5048/5725] drm/amd/display: add vbios table check for enabling + dp ss + +Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> +Reviewed-by: Eric Bernstein <Eric.Bernstein@amd.com> +Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 1 + + drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 5 ++++- + drivers/gpu/drm/amd/display/dc/dc_link.h | 1 + + drivers/gpu/drm/amd/display/include/grph_object_ctrl_defs.h | 2 ++ + 4 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +index 186131b..574c041 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +@@ -1038,6 +1038,7 @@ static bool construct( + link->link_index = init_params->link_index; + + link->link_id = bios->funcs->get_connector_id(bios, init_params->connector_index); ++ link->dp_ss_off = !!dc_ctx->dc_bios->integrated_info->dp_ss_control;; + + if (link->link_id.type != OBJECT_TYPE_CONNECTOR) { + dm_error("%s: Invalid Connector ObjectID from Adapter Service for connector index:%d! type %d expected %d\n", +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 e8a69d7..d91df5e 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 +@@ -953,7 +953,10 @@ enum link_training_result dc_link_dp_perform_link_training( + * LINK_SPREAD_05_DOWNSPREAD_30KHZ : + * LINK_SPREAD_DISABLED; + */ +- lt_settings.link_settings.link_spread = LINK_SPREAD_05_DOWNSPREAD_30KHZ; ++ if (link->dp_ss_off) ++ lt_settings.link_settings.link_spread = LINK_SPREAD_DISABLED; ++ else ++ lt_settings.link_settings.link_spread = LINK_SPREAD_05_DOWNSPREAD_30KHZ; + + /* 1. set link rate, lane count and spread*/ + dpcd_set_link_settings(link, <_settings); +diff --git a/drivers/gpu/drm/amd/display/dc/dc_link.h b/drivers/gpu/drm/amd/display/dc/dc_link.h +index 44cd31f..1794764 100644 +--- a/drivers/gpu/drm/amd/display/dc/dc_link.h ++++ b/drivers/gpu/drm/amd/display/dc/dc_link.h +@@ -73,6 +73,7 @@ struct dc_link { + enum dc_irq_source irq_source_hpd; + enum dc_irq_source irq_source_hpd_rx;/* aka DP Short Pulse */ + bool is_hpd_filter_disabled; ++ bool dp_ss_off; + + /* caps is the same as reported_link_cap. link_traing use + * reported_link_cap. Will clean up. TODO +diff --git a/drivers/gpu/drm/amd/display/include/grph_object_ctrl_defs.h b/drivers/gpu/drm/amd/display/include/grph_object_ctrl_defs.h +index 36bbad5..f312834 100644 +--- a/drivers/gpu/drm/amd/display/include/grph_object_ctrl_defs.h ++++ b/drivers/gpu/drm/amd/display/include/grph_object_ctrl_defs.h +@@ -395,6 +395,8 @@ struct integrated_info { + struct i2c_reg_info dp3_ext_hdmi_reg_settings[9]; + unsigned char dp3_ext_hdmi_6g_reg_num; + struct i2c_reg_info dp3_ext_hdmi_6g_reg_settings[3]; ++ /* V11 */ ++ uint32_t dp_ss_control; + }; + + /** +-- +2.7.4 + |