drm/amdgpu/jpeg: mmsch_v4_0_3 requires doorbell on 32 byte boundary
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.dhume@amd.com> Acked-by: Leo Liu <leo.liu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
3cc0f8f4e3
commit
dba24294ff
@ -109,9 +109,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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user