diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0536-drm-amd-display-make-variable-latency-into-a-regkey-.patch b/common/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/common/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 + |