drm/amdgpu/jpeg5: Enable doorbell
authorSonny Jiang <sonny.jiang@amd.com>
Tue, 17 Oct 2023 18:12:14 +0000 (14:12 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 12 Feb 2024 21:13:39 +0000 (16:13 -0500)
Add doorbell for JPEG5

Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c

index 71c28cc..e70200f 100644 (file)
@@ -85,7 +85,7 @@ static int jpeg_v5_0_0_sw_init(void *handle)
                return r;
 
        ring = adev->jpeg.inst->ring_dec;
-       ring->use_doorbell = false;
+       ring->use_doorbell = true;
        ring->doorbell_index = (adev->doorbell_index.vcn.vcn_ring0_1 << 1) + 1;
        ring->vm_hub = AMDGPU_MMHUB0(0);
 
@@ -134,6 +134,13 @@ static int jpeg_v5_0_0_hw_init(void *handle)
        struct amdgpu_ring *ring = adev->jpeg.inst->ring_dec;
        int r;
 
+       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;