[PATCH 6/7] drm/amdgpu/jpeg: mmsch_v3_0_4 requires doorbell on 32 byte boundary
Lazar, Lijo
lijo.lazar at amd.com
Fri Jul 21 13:30:09 UTC 2023
On 7/21/2023 12:49 AM, Samir Dhume wrote:
> Signed-off-by: Samir Dhume <samir.dhume at 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 85ee74fdb7e3..896e2f895884 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;
Is the requirement to have the index at a 32-byte aligned boundary?
Thanks,
Lijo
> + 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);
More information about the amd-gfx
mailing list