]> www.infradead.org Git - nvme.git/commitdiff
drm/amdgpu/jpeg5: reprogram doorbell setting after power up for each playback
authorSonny Jiang <sonjiang@amd.com>
Tue, 18 Jun 2024 15:11:11 +0000 (11:11 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 27 Jun 2024 21:09:41 +0000 (17:09 -0400)
Doorbell needs to be configured after power up during each playback

Signed-off-by: Sonny Jiang <sonjiang@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c

index 68ef29bc70e21c7d1f8926727fbe2f283ce1e3be..e766b94637590219ad24e008749af593c4d46156 100644 (file)
@@ -137,10 +137,6 @@ static int jpeg_v5_0_0_hw_init(void *handle)
        adev->nbio.funcs->vcn_doorbell_range(adev, ring->use_doorbell,
                        (adev->doorbell_index.vcn.vcn_ring0_1 << 1), 0);
 
-       WREG32_SOC15(VCN, 0, regVCN_JPEG_DB_CTRL,
-                       ring->doorbell_index << VCN_JPEG_DB_CTRL__OFFSET__SHIFT |
-                       VCN_JPEG_DB_CTRL__EN_MASK);
-
        r = amdgpu_ring_test_helper(ring);
        if (r)
                return r;
@@ -314,6 +310,10 @@ static int jpeg_v5_0_0_start(struct amdgpu_device *adev)
                JPEG_SYS_INT_EN__DJRBC0_MASK,
                ~JPEG_SYS_INT_EN__DJRBC0_MASK);
 
+       WREG32_SOC15(VCN, 0, regVCN_JPEG_DB_CTRL,
+               ring->doorbell_index << VCN_JPEG_DB_CTRL__OFFSET__SHIFT |
+               VCN_JPEG_DB_CTRL__EN_MASK);
+
        WREG32_SOC15(JPEG, 0, regUVD_LMI_JRBC_RB_VMID, 0);
        WREG32_SOC15(JPEG, 0, regUVD_JRBC_RB_CNTL, (0x00000001L | 0x00000002L));
        WREG32_SOC15(JPEG, 0, regUVD_LMI_JRBC_RB_64BIT_BAR_LOW,