BASE: VCN0 unified (32 byte boundary)
BASE+4: MJPEG0
BASE+5: MJPEG1
BASE+6: MJPEG2
BASE+7: MJPEG3
BASE+12: MJPEG4
BASE+13: MJPEG5
BASE+14: MJPEG6
BASE+15: MJPEG7

Signed-off-by: Samir Dhume <samir.dh...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c 
b/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c
index 33f04ea8549f..f745eeef442f 100644
--- a/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c
+++ b/drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c
@@ -111,9 +111,20 @@ static int jpeg_v4_0_3_sw_init(void *handle)
                        ring = &adev->jpeg.inst[i].ring_dec[j];
                        ring->use_doorbell = true;
                        ring->vm_hub = AMDGPU_MMHUB0(adev->jpeg.inst[i].aid_id);
-                       ring->doorbell_index =
-                               (adev->doorbell_index.vcn.vcn_ring0_1 << 1) +
-                               1 + j + 9 * jpeg_inst;
+                       if (!amdgpu_sriov_vf(adev)) {
+                               ring->doorbell_index =
+                                       (adev->doorbell_index.vcn.vcn_ring0_1 
<< 1) +
+                                       1 + j + 9 * jpeg_inst;
+                       } else {
+                               if (j < 4)
+                                       ring->doorbell_index =
+                                               
(adev->doorbell_index.vcn.vcn_ring0_1 << 1) +
+                                               4 + j + 32 * jpeg_inst;
+                               else
+                                       ring->doorbell_index =
+                                               
(adev->doorbell_index.vcn.vcn_ring0_1 << 1) +
+                                               8 + j + 32 * jpeg_inst;
+                       }
                        sprintf(ring->name, "jpeg_dec_%d.%d", 
adev->jpeg.inst[i].aid_id, j);
                        r = amdgpu_ring_init(adev, ring, 512, 
&adev->jpeg.inst->irq, 0,
                                                AMDGPU_RING_PRIO_DEFAULT, NULL);
-- 
2.34.1

Reply via email to