aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4999-drm-amd-display-allow-diags-to-skip-initial-link-tra.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4999-drm-amd-display-allow-diags-to-skip-initial-link-tra.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4999-drm-amd-display-allow-diags-to-skip-initial-link-tra.patch94
1 files changed, 94 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4999-drm-amd-display-allow-diags-to-skip-initial-link-tra.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4999-drm-amd-display-allow-diags-to-skip-initial-link-tra.patch
new file mode 100644
index 00000000..c7344913
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4999-drm-amd-display-allow-diags-to-skip-initial-link-tra.patch
@@ -0,0 +1,94 @@
+From 5a3bf4ea4dca71cbba53b68925519a2f6f1f79cb Mon Sep 17 00:00:00 2001
+From: Tony Cheng <tony.cheng@amd.com>
+Date: Wed, 11 Jul 2018 15:31:24 -0400
+Subject: [PATCH 4999/5725] drm/amd/display: allow diags to skip initial link
+ training
+
+[why]
+diag specify what the full config and is only concerned about pass/fail at the end
+
+having inter-op code like verifiying we can actually train at reported link rate
+slows down diag test and add complexity we don't need
+
+[how]
+add dc_debug option to skip capability link trianing
+
+also remove hbr in function name as verify is not specific to hbr
+
+Signed-off-by: Tony Cheng <tony.cheng@amd.com>
+Reviewed-by: Ken Chalmers <ken.chalmers@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.c | 2 +-
+ drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 7 ++++++-
+ drivers/gpu/drm/amd/display/dc/dc.h | 1 +
+ drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h | 2 +-
+ 4 files changed, 9 insertions(+), 3 deletions(-)
+
+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 a621467..838231e 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -760,7 +760,7 @@ bool dc_link_detect(struct dc_link *link, enum dc_detect_reason reason)
+ */
+
+ /* deal with non-mst cases */
+- dp_hbr_verify_link_cap(link, &link->reported_link_cap);
++ dp_verify_link_cap(link, &link->reported_link_cap);
+ }
+
+ /* HDMI-DVI Dongle */
+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 b34a694..bd40831 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
+@@ -1086,7 +1086,7 @@ static struct dc_link_settings get_max_link_cap(struct dc_link *link)
+ return max_link_cap;
+ }
+
+-bool dp_hbr_verify_link_cap(
++bool dp_verify_link_cap(
+ struct dc_link *link,
+ struct dc_link_settings *known_limit_link_setting)
+ {
+@@ -1101,6 +1101,11 @@ bool dp_hbr_verify_link_cap(
+ enum clock_source_id dp_cs_id = CLOCK_SOURCE_ID_EXTERNAL;
+ enum link_training_result status;
+
++ if (link->dc->debug.skip_detection_link_training) {
++ link->verified_link_cap = *known_limit_link_setting;
++ return true;
++ }
++
+ success = false;
+ skip_link_training = false;
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
+index cddc34f..7503dcf 100644
+--- a/drivers/gpu/drm/amd/display/dc/dc.h
++++ b/drivers/gpu/drm/amd/display/dc/dc.h
+@@ -259,6 +259,7 @@ struct dc_debug {
+ bool avoid_vbios_exec_table;
+ bool scl_reset_length10;
+ bool hdmi20_disable;
++ bool skip_detection_link_training;
+
+ struct {
+ uint32_t ltFailCount;
+diff --git a/drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h b/drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h
+index 2f783c6..697b5ee 100644
+--- a/drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h
++++ b/drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h
+@@ -33,7 +33,7 @@ struct dc_link;
+ struct dc_stream_state;
+ struct dc_link_settings;
+
+-bool dp_hbr_verify_link_cap(
++bool dp_verify_link_cap(
+ struct dc_link *link,
+ struct dc_link_settings *known_limit_link_setting);
+
+--
+2.7.4
+