Commit 3566938b authored by Le Ma's avatar Le Ma Committed by Alex Deucher

drm/amdgpu: assign different AMDGPU_GFXHUB for rings on each xcc

Pass the xcc_id to AMDGPU_GFXHUB(x)
Signed-off-by: default avatarLe Ma <le.ma@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ce8a12a5
...@@ -315,7 +315,7 @@ int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev, ...@@ -315,7 +315,7 @@ int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev,
ring->use_doorbell = true; ring->use_doorbell = true;
ring->doorbell_index = adev->doorbell_index.kiq; ring->doorbell_index = adev->doorbell_index.kiq;
ring->xcc_id = xcc_id; ring->xcc_id = xcc_id;
ring->vm_hub = AMDGPU_GFXHUB(0); ring->vm_hub = AMDGPU_GFXHUB(xcc_id);
if (xcc_id >= 1) if (xcc_id >= 1)
ring->doorbell_index = adev->doorbell_index.xcc1_kiq_start + ring->doorbell_index = adev->doorbell_index.xcc1_kiq_start +
xcc_id - 1; xcc_id - 1;
......
...@@ -757,7 +757,7 @@ static int gfx_v9_4_3_compute_ring_init(struct amdgpu_device *adev, int ring_id, ...@@ -757,7 +757,7 @@ static int gfx_v9_4_3_compute_ring_init(struct amdgpu_device *adev, int ring_id,
(adev->doorbell_index.mec_ring0 + ring_id) << 1; (adev->doorbell_index.mec_ring0 + ring_id) << 1;
ring->eop_gpu_addr = adev->gfx.mec.hpd_eop_gpu_addr ring->eop_gpu_addr = adev->gfx.mec.hpd_eop_gpu_addr
+ (ring_id * GFX9_MEC_HPD_SIZE); + (ring_id * GFX9_MEC_HPD_SIZE);
ring->vm_hub = AMDGPU_GFXHUB(0); ring->vm_hub = AMDGPU_GFXHUB(xcc_id);
sprintf(ring->name, "comp_%d.%d.%d.%d", sprintf(ring->name, "comp_%d.%d.%d.%d",
ring->xcc_id, ring->me, ring->pipe, ring->queue); ring->xcc_id, ring->me, ring->pipe, ring->queue);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment