diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c index 6c2ec8123178..f082b2547b83 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c | |||
@@ -946,12 +946,21 @@ int amdgpu_dpm_set_powergating_by_smu(struct amdgpu_device *adev, uint32_t block | |||
946 | 946 | ||
947 | switch (block_type) { | 947 | switch (block_type) { |
948 | case AMD_IP_BLOCK_TYPE_GFX: | 948 | case AMD_IP_BLOCK_TYPE_GFX: |
949 | case AMD_IP_BLOCK_TYPE_UVD: | ||
950 | case AMD_IP_BLOCK_TYPE_VCN: | ||
951 | case AMD_IP_BLOCK_TYPE_VCE: | ||
949 | if (swsmu) | 952 | if (swsmu) |
950 | ret = smu_gfx_off_control(&adev->smu, gate); | 953 | ret = smu_dpm_set_power_gate(&adev->smu, block_type, gate); |
951 | else | 954 | else |
952 | ret = ((adev)->powerplay.pp_funcs->set_powergating_by_smu( | 955 | ret = ((adev)->powerplay.pp_funcs->set_powergating_by_smu( |
953 | (adev)->powerplay.pp_handle, block_type, gate)); | 956 | (adev)->powerplay.pp_handle, block_type, gate)); |
954 | break; | 957 | break; |
958 | case AMD_IP_BLOCK_TYPE_GMC: | ||
959 | case AMD_IP_BLOCK_TYPE_ACP: | ||
960 | case AMD_IP_BLOCK_TYPE_SDMA: | ||
961 | ret = ((adev)->powerplay.pp_funcs->set_powergating_by_smu( | ||
962 | (adev)->powerplay.pp_handle, block_type, gate)); | ||
963 | break; | ||
955 | default: | 964 | default: |
956 | break; | 965 | break; |
957 | } | 966 | } |