aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1727-drm-amd-powerplay-check-for-invalid-profile-mode-bef.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1727-drm-amd-powerplay-check-for-invalid-profile-mode-bef.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1727-drm-amd-powerplay-check-for-invalid-profile-mode-bef.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1727-drm-amd-powerplay-check-for-invalid-profile-mode-bef.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1727-drm-amd-powerplay-check-for-invalid-profile-mode-bef.patch
new file mode 100644
index 00000000..c3dc44c1
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1727-drm-amd-powerplay-check-for-invalid-profile-mode-bef.patch
@@ -0,0 +1,42 @@
+From e819cb8a3bc4cf48371811a87b364073858a6c56 Mon Sep 17 00:00:00 2001
+From: Evan Quan <evan.quan@amd.com>
+Date: Thu, 28 Mar 2019 09:46:36 +0800
+Subject: [PATCH 1727/2940] drm/amd/powerplay: check for invalid profile mode
+ before switching
+
+Need to check for invalid profile mode settings before determining
+to switch to that.
+
+Change-Id: Ie47cd75a73a8369c349410ea74d322df1d3d38d1
+Signed-off-by: Evan Quan <evan.quan@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
+index bed156d7f432..1242470a351e 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
+@@ -4915,9 +4915,6 @@ static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, ui
+ uint8_t min_active_level;
+ uint32_t power_profile_mode = input[size];
+
+- smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetWorkloadMask,
+- 1 << power_profile_mode);
+-
+ if (power_profile_mode == PP_SMC_POWER_PROFILE_CUSTOM) {
+ if (size != 0 && size != 4)
+ return -EINVAL;
+@@ -4944,6 +4941,8 @@ static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, ui
+ }
+
+ out:
++ smum_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_SetWorkloadMask,
++ 1 << power_profile_mode);
+ hwmgr->power_profile_mode = power_profile_mode;
+
+ return 0;
+--
+2.17.1
+