aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2508-drm-amd-display-align-DCLK-to-voltage-level.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2508-drm-amd-display-align-DCLK-to-voltage-level.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2508-drm-amd-display-align-DCLK-to-voltage-level.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2508-drm-amd-display-align-DCLK-to-voltage-level.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2508-drm-amd-display-align-DCLK-to-voltage-level.patch
new file mode 100644
index 00000000..93df3d66
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2508-drm-amd-display-align-DCLK-to-voltage-level.patch
@@ -0,0 +1,61 @@
+From f8c86a5596d29d98ad50a5be0d40d17e124a84fd Mon Sep 17 00:00:00 2001
+From: Tony Cheng <tony.cheng@amd.com>
+Date: Wed, 27 Sep 2017 09:20:51 -0400
+Subject: [PATCH 2508/4131] drm/amd/display: align DCLK to voltage level
+
+in past program SMU will use all voltage headroom. RV does not
+
+if DAL need higher voltage for DCFCLK or DISPCLK, also increase FCLK
+to improve stutter as voltage is already
+
+Signed-off-by: Tony Cheng <tony.cheng@amd.com>
+Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
+Acked-by: Harry Wentland <Harry.Wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c | 4 ++++
+ drivers/gpu/drm/amd/display/dc/dc.h | 1 +
+ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 1 +
+ 3 files changed, 6 insertions(+)
+
+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 cf474eb..9337cca 100644
+--- a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
++++ b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+@@ -1049,6 +1049,10 @@ bool dcn_validate_bandwidth(
+ else
+ bw_consumed = v->fabric_and_dram_bandwidth_vmax0p9;
+
++ if (bw_consumed < v->fabric_and_dram_bandwidth)
++ if (dc->debug.voltage_align_fclk)
++ bw_consumed = v->fabric_and_dram_bandwidth;
++
+ display_pipe_configuration(v);
+ calc_wm_sets_and_perf_params(context, v);
+ context->bw.dcn.calc_clk.fclk_khz = (int)(bw_consumed * 1000000 /
+diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
+index cf59626..349d3da 100644
+--- a/drivers/gpu/drm/amd/display/dc/dc.h
++++ b/drivers/gpu/drm/amd/display/dc/dc.h
+@@ -188,6 +188,7 @@ struct dc_debug {
+ enum dcc_option disable_dcc;
+ enum pipe_split_policy pipe_split_policy;
+ bool force_single_disp_pipe_split;
++ bool voltage_align_fclk;
+
+ bool disable_dfs_bypass;
+ bool disable_dpp_power_gate;
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
+index 6751b6e..7a766be 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
+@@ -428,6 +428,7 @@ static const struct dc_debug debug_defaults_drv = {
+
+ .pipe_split_policy = MPC_SPLIT_AVOID_MULT_DISP,
+ .disable_dcc = DCC_ENABLE,
++ .voltage_align_fclk = true,
+ };
+
+ static const struct dc_debug debug_defaults_diags = {
+--
+2.7.4
+