aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3273-drm-amd-pp-Change-activity_target-for-performance-op.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3273-drm-amd-pp-Change-activity_target-for-performance-op.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3273-drm-amd-pp-Change-activity_target-for-performance-op.patch102
1 files changed, 102 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3273-drm-amd-pp-Change-activity_target-for-performance-op.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3273-drm-amd-pp-Change-activity_target-for-performance-op.patch
new file mode 100644
index 00000000..3647093b
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3273-drm-amd-pp-Change-activity_target-for-performance-op.patch
@@ -0,0 +1,102 @@
+From 776e174e654a5159717d83670a8b749fab533f02 Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Tue, 23 Jan 2018 16:28:09 +0800
+Subject: [PATCH 3273/4131] drm/amd/pp: Change activity_target for performance
+ optimization on Polaris
+
+And not support perDPM level optimization on Polaris, so
+delete sclk activity_target array.
+
+Change-Id: I253b707751aa921cb8e4f5d06feb8ac6e1bcd0ce
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/hwmgr/smu7_dyn_defaults.h | 2 +-
+ drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 1 +
+ drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.h | 1 +
+ drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c | 6 +-----
+ drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.h | 1 -
+ 5 files changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_dyn_defaults.h b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_dyn_defaults.h
+index f967613..3477d4d 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_dyn_defaults.h
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_dyn_defaults.h
+@@ -50,6 +50,6 @@
+ #define SMU7_CGULVCONTROL_DFLT 0x00007450
+ #define SMU7_TARGETACTIVITY_DFLT 50
+ #define SMU7_MCLK_TARGETACTIVITY_DFLT 10
+-
++#define SMU7_SCLK_TARGETACTIVITY_DFLT 30
+ #endif
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+index 77e28e1..f7380a84 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+@@ -1485,6 +1485,7 @@ static void smu7_init_dpm_defaults(struct pp_hwmgr *hwmgr)
+ data->dll_default_on = false;
+ data->mclk_dpm0_activity_target = 0xa;
+ data->mclk_activity_target = SMU7_MCLK_TARGETACTIVITY_DFLT;
++ data->sclk_activity_target = SMU7_SCLK_TARGETACTIVITY_DFLT;
+ data->vddc_vddgfx_delta = 300;
+ data->static_screen_threshold = SMU7_STATICSCREENTHRESHOLD_DFLT;
+ data->static_screen_threshold_unit = SMU7_STATICSCREENTHRESHOLDUNIT_DFLT;
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.h b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.h
+index 1ce84cc..a626a3e 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.h
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.h
+@@ -290,6 +290,7 @@ struct smu7_hwmgr {
+ bool use_pcie_performance_levels;
+ bool use_pcie_power_saving_levels;
+ uint32_t mclk_activity_target;
++ uint16_t sclk_activity_target;
+ uint32_t mclk_dpm0_activity_target;
+ uint32_t low_sclk_interrupt_threshold;
+ uint32_t last_mclk_dpm_enable_mask;
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
+index a760a82..356f60e 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
+@@ -366,7 +366,6 @@ static bool polaris10_is_hw_avfs_present(struct pp_hwmgr *hwmgr)
+ static int polaris10_smu_init(struct pp_hwmgr *hwmgr)
+ {
+ struct polaris10_smumgr *smu_data;
+- int i;
+
+ smu_data = kzalloc(sizeof(struct polaris10_smumgr), GFP_KERNEL);
+ if (smu_data == NULL)
+@@ -377,9 +376,6 @@ static int polaris10_smu_init(struct pp_hwmgr *hwmgr)
+ if (smu7_init(hwmgr))
+ return -EINVAL;
+
+- for (i = 0; i < SMU74_MAX_LEVELS_GRAPHICS; i++)
+- smu_data->activity_target[i] = PPPOLARIS10_TARGETACTIVITY_DFLT;
+-
+ return 0;
+ }
+
+@@ -1037,7 +1033,7 @@ static int polaris10_populate_all_graphic_levels(struct pp_hwmgr *hwmgr)
+
+ result = polaris10_populate_single_graphic_level(hwmgr,
+ dpm_table->sclk_table.dpm_levels[i].value,
+- (uint16_t)smu_data->activity_target[i],
++ hw_data->sclk_activity_target,
+ &(smu_data->smc_state_table.GraphicsLevel[i]));
+ if (result)
+ return result;
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.h b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.h
+index 5e19c24..1ec425d 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.h
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.h
+@@ -59,7 +59,6 @@ struct polaris10_smumgr {
+ struct SMU74_Discrete_PmFuses power_tune_table;
+ struct polaris10_range_table range_table[NUM_SCLK_RANGE];
+ const struct polaris10_pt_defaults *power_tune_defaults;
+- uint32_t activity_target[SMU74_MAX_LEVELS_GRAPHICS];
+ uint32_t bif_sclk_table[SMU74_MAX_LEVELS_LINK];
+ };
+
+--
+2.7.4
+