diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c | 30 | 
1 files changed, 24 insertions, 6 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c index d2a105e3bf7c..2082c0acd216 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c @@ -911,8 +911,7 @@ int amdgpu_dpm_get_sclk(struct amdgpu_device *adev, bool low)  	if (is_support_sw_smu(adev)) {  		ret = smu_get_dpm_freq_range(&adev->smu, SMU_GFXCLK,  					     low ? &clk_freq : NULL, -					     !low ? &clk_freq : NULL, -					     true); +					     !low ? &clk_freq : NULL);  		if (ret)  			return 0;  		return clk_freq * 100; @@ -929,8 +928,7 @@ int amdgpu_dpm_get_mclk(struct amdgpu_device *adev, bool low)  	if (is_support_sw_smu(adev)) {  		ret = smu_get_dpm_freq_range(&adev->smu, SMU_UCLK,  					     low ? &clk_freq : NULL, -					     !low ? &clk_freq : NULL, -					     true); +					     !low ? &clk_freq : NULL);  		if (ret)  			return 0;  		return clk_freq * 100; @@ -1141,6 +1139,26 @@ int amdgpu_dpm_baco_reset(struct amdgpu_device *adev)  	return 0;  } +bool amdgpu_dpm_is_mode1_reset_supported(struct amdgpu_device *adev) +{ +	struct smu_context *smu = &adev->smu; + +	if (is_support_sw_smu(adev)) +		return smu_mode1_reset_is_support(smu); + +	return false; +} + +int amdgpu_dpm_mode1_reset(struct amdgpu_device *adev) +{ +	struct smu_context *smu = &adev->smu; + +	if (is_support_sw_smu(adev)) +		return smu_mode1_reset(smu); + +	return -EOPNOTSUPP; +} +  int amdgpu_dpm_switch_power_profile(struct amdgpu_device *adev,  				    enum PP_SMC_POWER_PROFILE type,  				    bool en) @@ -1162,7 +1180,7 @@ int amdgpu_dpm_set_xgmi_pstate(struct amdgpu_device *adev,  {  	int ret = 0; -	if (is_support_sw_smu_xgmi(adev)) +	if (is_support_sw_smu(adev))  		ret = smu_set_xgmi_pstate(&adev->smu, pstate);  	else if (adev->powerplay.pp_funcs &&  		 adev->powerplay.pp_funcs->set_xgmi_pstate) @@ -1197,4 +1215,4 @@ int amdgpu_dpm_allow_xgmi_power_down(struct amdgpu_device *adev, bool en)  		return smu_allow_xgmi_power_down(smu, en);  	return 0; -}
\ No newline at end of file +} | 
