The VCN and UVD helpers were split in
commit ff69bba05f08 ("drm/amd/pm: add inst to dpm_set_powergating_by_smu")
However, this happened in parallel to the vcn 5.0.1
development so it was missed there.

Fixes: 346492f30ce3 ("drm/amdgpu: Add VCN_5_0_1 support")
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
Cc: Sonny Jiang <sonji...@amd.com>
Cc: Boyuan Zhang <boyuan.zh...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c 
b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c
index 8b463c977d08f..8b0b3739a5377 100644
--- a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c
@@ -575,8 +575,10 @@ static int vcn_v5_0_1_start(struct amdgpu_device *adev)
        uint32_t tmp;
        int i, j, k, r, vcn_inst;
 
-       if (adev->pm.dpm_enabled)
-               amdgpu_dpm_enable_uvd(adev, true);
+       for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
+               if (adev->pm.dpm_enabled)
+                       amdgpu_dpm_enable_vcn(adev, true, i);
+       }
 
        for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
                fw_shared = adev->vcn.inst[i].fw_shared.cpu_addr;
@@ -816,8 +818,10 @@ static int vcn_v5_0_1_stop(struct amdgpu_device *adev)
                WREG32_SOC15(VCN, vcn_inst, regUVD_STATUS, 0);
        }
 
-       if (adev->pm.dpm_enabled)
-               amdgpu_dpm_enable_uvd(adev, false);
+       for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
+               if (adev->pm.dpm_enabled)
+                       amdgpu_dpm_enable_vcn(adev, false, i);
+       }
 
        return 0;
 }
-- 
2.48.1

Reply via email to