From: Le Ma <le.ma@xxxxxxx> KIQ doorbell_index is non-zero from XCC1, thus need to left-shift it like other rings. Signed-off-by: Le Ma <le.ma@xxxxxxx> Acked-by: Felix Kuehling <Felix.Kuehling@xxxxxxx> Reviewed-by: Lijo Lazar <lijo.lazar@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> --- 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