aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5048-drm-amd-display-add-vbios-table-check-for-enabling-d.patch
diff options
context:
space:
mode:
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.patch73
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, &lt_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
+