@@ -1261,33 +1261,26 @@ static int smu_sw_init(struct amdgpu_ip_block *ip_block)
1261
1261
smu -> watermarks_bitmap = 0 ;
1262
1262
smu -> power_profile_mode = PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT ;
1263
1263
smu -> default_power_profile_mode = PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT ;
1264
- smu -> user_dpm_profile .user_workload_mask = 0 ;
1265
1264
1266
1265
atomic_set (& smu -> smu_power .power_gate .vcn_gated , 1 );
1267
1266
atomic_set (& smu -> smu_power .power_gate .jpeg_gated , 1 );
1268
1267
atomic_set (& smu -> smu_power .power_gate .vpe_gated , 1 );
1269
1268
atomic_set (& smu -> smu_power .power_gate .umsch_mm_gated , 1 );
1270
1269
1271
- smu -> workload_priority [PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT ] = 0 ;
1272
- smu -> workload_priority [PP_SMC_POWER_PROFILE_FULLSCREEN3D ] = 1 ;
1273
- smu -> workload_priority [PP_SMC_POWER_PROFILE_POWERSAVING ] = 2 ;
1274
- smu -> workload_priority [PP_SMC_POWER_PROFILE_VIDEO ] = 3 ;
1275
- smu -> workload_priority [PP_SMC_POWER_PROFILE_VR ] = 4 ;
1276
- smu -> workload_priority [PP_SMC_POWER_PROFILE_COMPUTE ] = 5 ;
1277
- smu -> workload_priority [PP_SMC_POWER_PROFILE_CUSTOM ] = 6 ;
1270
+ smu -> workload_prority [PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT ] = 0 ;
1271
+ smu -> workload_prority [PP_SMC_POWER_PROFILE_FULLSCREEN3D ] = 1 ;
1272
+ smu -> workload_prority [PP_SMC_POWER_PROFILE_POWERSAVING ] = 2 ;
1273
+ smu -> workload_prority [PP_SMC_POWER_PROFILE_VIDEO ] = 3 ;
1274
+ smu -> workload_prority [PP_SMC_POWER_PROFILE_VR ] = 4 ;
1275
+ smu -> workload_prority [PP_SMC_POWER_PROFILE_COMPUTE ] = 5 ;
1276
+ smu -> workload_prority [PP_SMC_POWER_PROFILE_CUSTOM ] = 6 ;
1278
1277
1279
1278
if (smu -> is_apu ||
1280
- !smu_is_workload_profile_available (smu , PP_SMC_POWER_PROFILE_FULLSCREEN3D )) {
1281
- smu -> driver_workload_mask =
1282
- 1 << smu -> workload_priority [PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT ];
1283
- } else {
1284
- smu -> driver_workload_mask =
1285
- 1 << smu -> workload_priority [PP_SMC_POWER_PROFILE_FULLSCREEN3D ];
1286
- smu -> default_power_profile_mode = PP_SMC_POWER_PROFILE_FULLSCREEN3D ;
1287
- }
1279
+ !smu_is_workload_profile_available (smu , PP_SMC_POWER_PROFILE_FULLSCREEN3D ))
1280
+ smu -> workload_mask = 1 << smu -> workload_prority [PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT ];
1281
+ else
1282
+ smu -> workload_mask = 1 << smu -> workload_prority [PP_SMC_POWER_PROFILE_FULLSCREEN3D ];
1288
1283
1289
- smu -> workload_mask = smu -> driver_workload_mask |
1290
- smu -> user_dpm_profile .user_workload_mask ;
1291
1284
smu -> workload_setting [0 ] = PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT ;
1292
1285
smu -> workload_setting [1 ] = PP_SMC_POWER_PROFILE_FULLSCREEN3D ;
1293
1286
smu -> workload_setting [2 ] = PP_SMC_POWER_PROFILE_POWERSAVING ;
@@ -2366,20 +2359,17 @@ static int smu_switch_power_profile(void *handle,
2366
2359
return - EINVAL ;
2367
2360
2368
2361
if (!en ) {
2369
- smu -> driver_workload_mask &= ~(1 << smu -> workload_priority [type ]);
2362
+ smu -> workload_mask &= ~(1 << smu -> workload_prority [type ]);
2370
2363
index = fls (smu -> workload_mask );
2371
2364
index = index > 0 && index <= WORKLOAD_POLICY_MAX ? index - 1 : 0 ;
2372
2365
workload [0 ] = smu -> workload_setting [index ];
2373
2366
} else {
2374
- smu -> driver_workload_mask |= (1 << smu -> workload_priority [type ]);
2367
+ smu -> workload_mask |= (1 << smu -> workload_prority [type ]);
2375
2368
index = fls (smu -> workload_mask );
2376
2369
index = index <= WORKLOAD_POLICY_MAX ? index - 1 : 0 ;
2377
2370
workload [0 ] = smu -> workload_setting [index ];
2378
2371
}
2379
2372
2380
- smu -> workload_mask = smu -> driver_workload_mask |
2381
- smu -> user_dpm_profile .user_workload_mask ;
2382
-
2383
2373
if (smu_dpm_ctx -> dpm_level != AMD_DPM_FORCED_LEVEL_MANUAL &&
2384
2374
smu_dpm_ctx -> dpm_level != AMD_DPM_FORCED_LEVEL_PERF_DETERMINISM )
2385
2375
smu_bump_power_profile_mode (smu , workload , 0 );
@@ -3074,23 +3064,12 @@ static int smu_set_power_profile_mode(void *handle,
3074
3064
uint32_t param_size )
3075
3065
{
3076
3066
struct smu_context * smu = handle ;
3077
- int ret ;
3078
3067
3079
3068
if (!smu -> pm_enabled || !smu -> adev -> pm .dpm_enabled ||
3080
3069
!smu -> ppt_funcs -> set_power_profile_mode )
3081
3070
return - EOPNOTSUPP ;
3082
3071
3083
- if (smu -> user_dpm_profile .user_workload_mask &
3084
- (1 << smu -> workload_priority [param [param_size ]]))
3085
- return 0 ;
3086
-
3087
- smu -> user_dpm_profile .user_workload_mask =
3088
- (1 << smu -> workload_priority [param [param_size ]]);
3089
- smu -> workload_mask = smu -> user_dpm_profile .user_workload_mask |
3090
- smu -> driver_workload_mask ;
3091
- ret = smu_bump_power_profile_mode (smu , param , param_size );
3092
-
3093
- return ret ;
3072
+ return smu_bump_power_profile_mode (smu , param , param_size );
3094
3073
}
3095
3074
3096
3075
static int smu_get_fan_control_mode (void * handle , u32 * fan_mode )
0 commit comments