]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amdgpu/vcn2.5: Remove old DPG workaround
authorJames Zhu <James.Zhu@amd.com>
Tue, 19 May 2020 14:25:01 +0000 (10:25 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 21 May 2020 16:46:51 +0000 (12:46 -0400)
SCRATCH2 is used to keep decode wptr as a workaround
which fix a hardware DPG decode wptr update bug for
vcn2.5 beforehand.

Signed-off-by: James Zhu <James.Zhu@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c

index 34ed906645c9e8233409c40d72974b77ce9f4c29..3c6eafb62ee68e5c22ecc33e9c5de90f1199f9b0 100644 (file)
@@ -1453,11 +1453,6 @@ static int vcn_v2_5_pause_dpg_mode(struct amdgpu_device *adev,
                                WREG32_SOC15(VCN, inst_idx, mmUVD_RB_WPTR2, lower_32_bits(ring->wptr));
                                fw_shared->multi_queue.encode_lowlatency_queue_mode &= ~FW_QUEUE_RING_RESET;
 
-                               fw_shared->multi_queue.decode_queue_mode |= FW_QUEUE_RING_RESET;
-                               WREG32_SOC15(VCN, inst_idx, mmUVD_RBC_RB_WPTR,
-                                          RREG32_SOC15(VCN, inst_idx, mmUVD_SCRATCH2) & 0x7FFFFFFF);
-                               fw_shared->multi_queue.decode_queue_mode &= ~FW_QUEUE_RING_RESET;
-
                                /* Unstall DPG */
                                WREG32_P(SOC15_REG_OFFSET(VCN, inst_idx, mmUVD_POWER_STATUS),
                                           0, ~UVD_POWER_STATUS__STALL_DPG_POWER_UP_MASK);
@@ -1519,10 +1514,6 @@ static void vcn_v2_5_dec_ring_set_wptr(struct amdgpu_ring *ring)
 {
        struct amdgpu_device *adev = ring->adev;
 
-       if (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)
-               WREG32_SOC15(VCN, ring->me, mmUVD_SCRATCH2,
-                       lower_32_bits(ring->wptr) | 0x80000000);
-
        if (ring->use_doorbell) {
                adev->wb.wb[ring->wptr_offs] = lower_32_bits(ring->wptr);
                WDOORBELL32(ring->doorbell_index, lower_32_bits(ring->wptr));