aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch
new file mode 100644
index 00000000..3a850fb8
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch
@@ -0,0 +1,55 @@
+From 38299755094bc06fc77c04e2b8b47f8bb570d59d Mon Sep 17 00:00:00 2001
+From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Date: Wed, 21 Jun 2017 09:35:35 -0400
+Subject: [PATCH 0536/4131] drm/amd/display: make variable latency into a
+ regkey option
+
+Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
+Acked-by: Harry Wentland <Harry.Wentland@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c | 11 ++++++++---
+ drivers/gpu/drm/amd/display/dc/dc.h | 2 ++
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+index 9cb0836..3ec702f 100644
+--- a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
++++ b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+@@ -906,11 +906,16 @@ bool dcn_validate_bandwidth(
+ scaler_settings_calculation(v);
+ mode_support_and_system_configuration(v);
+
+- if (v->voltage_level == 0) {
++ if (v->voltage_level == 0 &&
++ (dc->public.debug.sr_exit_time_dpm0_ns
++ || dc->public.debug.sr_enter_plus_exit_time_dpm0_ns)) {
+ struct core_dc *dc_core = DC_TO_CORE(&dc->public);
+
+- v->sr_enter_plus_exit_time = 9.466f;
+- v->sr_exit_time = 7.849f;
++ if (dc->public.debug.sr_enter_plus_exit_time_dpm0_ns)
++ v->sr_enter_plus_exit_time =
++ dc->public.debug.sr_enter_plus_exit_time_dpm0_ns / 1000.0f;
++ if (dc->public.debug.sr_exit_time_dpm0_ns)
++ v->sr_exit_time = dc->public.debug.sr_exit_time_dpm0_ns / 1000.0f;
+ dc_core->dml.soc.sr_enter_plus_exit_time_us = v->sr_enter_plus_exit_time;
+ dc_core->dml.soc.sr_exit_time_us = v->sr_exit_time;
+ mode_support_and_system_configuration(v);
+diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
+index 62493c4..cb70b6d 100644
+--- a/drivers/gpu/drm/amd/display/dc/dc.h
++++ b/drivers/gpu/drm/amd/display/dc/dc.h
+@@ -171,6 +171,8 @@ struct dc_debug {
+ bool disable_pplib_wm_range;
+ bool use_dml_wm;
+ bool disable_pipe_split;
++ int sr_exit_time_dpm0_ns;
++ int sr_enter_plus_exit_time_dpm0_ns;
+ int sr_exit_time_ns;
+ int sr_enter_plus_exit_time_ns;
+ int urgent_latency_ns;
+--
+2.7.4
+