[PATCH 29/32] drm/amdgpu: convert the doorbell_index to 2 dwords offset for kiq
Alex Deucher
alexander.deucher at amd.com
Tue Mar 28 15:13:41 UTC 2023
From: Le Ma <le.ma at amd.com>
KIQ doorbell_index is non-zero from XCC1, thus need to left-shift it like
other rings.
Signed-off-by: Le Ma <le.ma at amd.com>
Acked-by: Felix Kuehling <Felix.Kuehling at amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
index 5ef6fbe354c9..d48f80469533 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
@@ -313,14 +313,13 @@ int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev,
ring->adev = NULL;
ring->ring_obj = NULL;
ring->use_doorbell = true;
- ring->doorbell_index = adev->doorbell_index.kiq;
ring->xcc_id = xcc_id;
ring->vm_hub = AMDGPU_GFXHUB(xcc_id);
if (xcc_id >= 1)
- ring->doorbell_index = adev->doorbell_index.xcc1_kiq_start +
- xcc_id - 1;
+ ring->doorbell_index = (adev->doorbell_index.xcc1_kiq_start +
+ xcc_id - 1) << 1;
else
- ring->doorbell_index = adev->doorbell_index.kiq;
+ ring->doorbell_index = adev->doorbell_index.kiq << 1;
r = amdgpu_gfx_kiq_acquire(adev, ring, xcc_id);
if (r)
--
2.39.2
More information about the amd-gfx
mailing list