Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/pm: update smu10.h WORKLOAD_PPLIB setting for raven

When using old WORKLOAD_PPLIB setting in smu10.h, there is problem that
it can't be able to switch to mak gpu clk during compute workload.
It needs to update WORKLOAD_PPLIB setting to fix this issue.

Signed-off-by: Changfeng <Changfeng.Zhu@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Changfeng and committed by
Alex Deucher
f6f75ebd 8c901781

+9 -14
+6 -8
drivers/gpu/drm/amd/pm/inc/smu10.h
··· 136 136 #define FEATURE_CORE_CSTATES_MASK (1 << FEATURE_CORE_CSTATES_BIT) 137 137 138 138 /* Workload bits */ 139 - #define WORKLOAD_DEFAULT_BIT 0 140 - #define WORKLOAD_PPLIB_FULL_SCREEN_3D_BIT 1 141 - #define WORKLOAD_PPLIB_POWER_SAVING_BIT 2 142 - #define WORKLOAD_PPLIB_VIDEO_BIT 3 143 - #define WORKLOAD_PPLIB_VR_BIT 4 144 - #define WORKLOAD_PPLIB_COMPUTE_BIT 5 145 - #define WORKLOAD_PPLIB_CUSTOM_BIT 6 146 - #define WORKLOAD_PPLIB_COUNT 7 139 + #define WORKLOAD_PPLIB_FULL_SCREEN_3D_BIT 0 140 + #define WORKLOAD_PPLIB_VIDEO_BIT 2 141 + #define WORKLOAD_PPLIB_VR_BIT 3 142 + #define WORKLOAD_PPLIB_COMPUTE_BIT 4 143 + #define WORKLOAD_PPLIB_CUSTOM_BIT 5 144 + #define WORKLOAD_PPLIB_COUNT 6 147 145 148 146 typedef struct { 149 147 /* MP1_EXT_SCRATCH0 */
+3 -6
drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c
··· 1298 1298 int pplib_workload = 0; 1299 1299 1300 1300 switch (power_profile) { 1301 - case PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT: 1302 - pplib_workload = WORKLOAD_DEFAULT_BIT; 1303 - break; 1304 1301 case PP_SMC_POWER_PROFILE_FULLSCREEN3D: 1305 1302 pplib_workload = WORKLOAD_PPLIB_FULL_SCREEN_3D_BIT; 1306 - break; 1307 - case PP_SMC_POWER_PROFILE_POWERSAVING: 1308 - pplib_workload = WORKLOAD_PPLIB_POWER_SAVING_BIT; 1309 1303 break; 1310 1304 case PP_SMC_POWER_PROFILE_VIDEO: 1311 1305 pplib_workload = WORKLOAD_PPLIB_VIDEO_BIT; ··· 1309 1315 break; 1310 1316 case PP_SMC_POWER_PROFILE_COMPUTE: 1311 1317 pplib_workload = WORKLOAD_PPLIB_COMPUTE_BIT; 1318 + break; 1319 + case PP_SMC_POWER_PROFILE_CUSTOM: 1320 + pplib_workload = WORKLOAD_PPLIB_CUSTOM_BIT; 1312 1321 break; 1313 1322 } 1314 1323