]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: Init single mes instance if xcc_mask is unset
authorHawking Zhang <Hawking.Zhang@amd.com>
Tue, 6 May 2025 06:43:36 +0000 (14:43 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 8 Dec 2025 19:25:58 +0000 (14:25 -0500)
Configure a single mes instance if the xcc_mask remains
uninitialized.

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Jack Xiao <Jack.Xiao@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c

index 895b841b9626dbb5b0d9ffedf73d4436b7059158..59e6b6f5233f4ca5d2f4772315fc17b7bd278311 100644 (file)
@@ -92,9 +92,9 @@ static void amdgpu_mes_doorbell_free(struct amdgpu_device *adev)
 int amdgpu_mes_init(struct amdgpu_device *adev)
 {
        int i, r, num_pipes;
-       int num_xcc = NUM_XCC(adev->gfx.xcc_mask);
        u32 total_vmid_mask, reserved_vmid_mask;
        u32 queue_mask, reserved_queue_mask;
+       int num_xcc = adev->gfx.xcc_mask ? NUM_XCC(adev->gfx.xcc_mask) : 1;
 
        adev->mes.adev = adev;
 
@@ -245,7 +245,8 @@ error:
 
 void amdgpu_mes_fini(struct amdgpu_device *adev)
 {
-       int i, num_xcc = NUM_XCC(adev->gfx.xcc_mask);
+       int i;
+       int num_xcc = adev->gfx.xcc_mask ? NUM_XCC(adev->gfx.xcc_mask) : 1;
 
        amdgpu_bo_free_kernel(&adev->mes.event_log_gpu_obj,
                              &adev->mes.event_log_gpu_addr,