OSDN Git Service

drm/amdgpu: Fix GFX v9.4.3 EOP buffer allocation
authorLijo Lazar <lijo.lazar@amd.com>
Mon, 19 Dec 2022 12:09:42 +0000 (17:39 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:50:52 +0000 (09:50 -0400)
Each compute cluster gets 8 compute queues in GFX v9.4.3. Fix the EOP
buffer allocation so that compute queue on every XCC gets a unique
address.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Tested-and-Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c

index 6aaa810..b56fa29 100644 (file)
@@ -455,7 +455,8 @@ static int gfx_v9_4_3_mec_init(struct amdgpu_device *adev)
 
        /* take ownership of the relevant compute queues */
        amdgpu_gfx_compute_queue_acquire(adev);
-       mec_hpd_size = adev->gfx.num_compute_rings * GFX9_MEC_HPD_SIZE;
+       mec_hpd_size =
+               adev->gfx.num_compute_rings * num_xcc * GFX9_MEC_HPD_SIZE;
        if (mec_hpd_size) {
                r = amdgpu_bo_create_reserved(adev, mec_hpd_size, PAGE_SIZE,
                                              AMDGPU_GEM_DOMAIN_VRAM,