diff options
| -rw-r--r-- | drivers/gpu/drm/amd/pm/amdgpu_pm.c | 18 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 4 | 
3 files changed, 7 insertions, 17 deletions
diff --git a/drivers/gpu/drm/amd/pm/amdgpu_pm.c b/drivers/gpu/drm/amd/pm/amdgpu_pm.c index e34ca352294f..0a788cb38ee2 100644 --- a/drivers/gpu/drm/amd/pm/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/pm/amdgpu_pm.c @@ -2924,11 +2924,7 @@ static ssize_t amdgpu_hwmon_show_power_cap_max(struct device *dev,  		return r;  	} -	if (is_support_sw_smu(adev)) { -		smu_get_power_limit(&adev->smu, &limit, -				    pp_limit_level, power_type); -		size = snprintf(buf, PAGE_SIZE, "%u\n", limit * 1000000); -	} else if (pp_funcs && pp_funcs->get_power_limit) { +	if (pp_funcs && pp_funcs->get_power_limit) {  		pp_funcs->get_power_limit(adev->powerplay.pp_handle, &limit,  					  pp_limit_level, power_type);  		size = snprintf(buf, PAGE_SIZE, "%u\n", limit * 1000000); @@ -2965,11 +2961,7 @@ static ssize_t amdgpu_hwmon_show_power_cap(struct device *dev,  		return r;  	} -	if (is_support_sw_smu(adev)) { -		smu_get_power_limit(&adev->smu, &limit, -				    pp_limit_level, power_type); -		size = snprintf(buf, PAGE_SIZE, "%u\n", limit * 1000000); -	} else if (pp_funcs && pp_funcs->get_power_limit) { +	if (pp_funcs && pp_funcs->get_power_limit) {  		pp_funcs->get_power_limit(adev->powerplay.pp_handle, &limit,  					  pp_limit_level, power_type);  		size = snprintf(buf, PAGE_SIZE, "%u\n", limit * 1000000); @@ -3006,11 +2998,7 @@ static ssize_t amdgpu_hwmon_show_power_cap_default(struct device *dev,  		return r;  	} -	if (is_support_sw_smu(adev)) { -		smu_get_power_limit(&adev->smu, &limit, -				    pp_limit_level, power_type); -		size = snprintf(buf, PAGE_SIZE, "%u\n", limit * 1000000); -	} else if (pp_funcs && pp_funcs->get_power_limit) { +	if (pp_funcs && pp_funcs->get_power_limit) {  		pp_funcs->get_power_limit(adev->powerplay.pp_handle, &limit,  					  pp_limit_level, power_type);  		size = snprintf(buf, PAGE_SIZE, "%u\n", limit * 1000000); diff --git a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h index 026d9b6d5ad3..2f7f688424aa 100644 --- a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h +++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h @@ -1262,7 +1262,7 @@ enum smu_cmn2asic_mapping_type {  	[profile] = {1, (workload)}  #if !defined(SWSMU_CODE_LAYER_L2) && !defined(SWSMU_CODE_LAYER_L3) && !defined(SWSMU_CODE_LAYER_L4) -int smu_get_power_limit(struct smu_context *smu, +int smu_get_power_limit(void *handle,  			uint32_t *limit,  			enum pp_power_limit_level pp_limit_level,  			enum pp_power_type pp_power_type); diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c index cfa680850887..c9b921cd48cd 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c @@ -2173,11 +2173,12 @@ static int smu_set_fan_speed_rpm(void *handle, uint32_t speed)  	return ret;  } -int smu_get_power_limit(struct smu_context *smu, +int smu_get_power_limit(void *handle,  			uint32_t *limit,  			enum pp_power_limit_level pp_limit_level,  			enum pp_power_type pp_power_type)  { +	struct smu_context *smu = handle;  	enum smu_ppt_limit_level limit_level;  	uint32_t limit_type;  	int ret = 0; @@ -3016,6 +3017,7 @@ static const struct amd_pm_funcs swsmu_pm_funcs = {  	.load_firmware           = smu_load_microcode,  	.set_powergating_by_smu  = smu_dpm_set_power_gate,  	.set_power_limit         = smu_set_power_limit, +	.get_power_limit         = smu_get_power_limit,  	.get_power_profile_mode  = smu_get_power_profile_mode,  	.set_power_profile_mode  = smu_set_power_profile_mode,  	.odn_edit_dpm_table      = smu_od_edit_dpm_table,  | 
