]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu/gmc12: set MMHUBs based on aid_mask
authorLikun Gao <Likun.Gao@amd.com>
Tue, 11 Nov 2025 03:43:05 +0000 (11:43 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 8 Dec 2025 19:27:09 +0000 (14:27 -0500)
Update number of mmhub and mid_mask via reuse aid_mask.

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Le Ma <le.ma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c

index bb3d7fc40122be5d30c03bbb6133d1c0472e8ae5..efc519112ac450c4e4e6fd869f62cd9fba37f3a6 100644 (file)
@@ -771,6 +771,7 @@ static int gmc_v12_0_sw_init(struct amdgpu_ip_block *ip_block)
 {
        int r, vram_width = 0, vram_type = 0, vram_vendor = 0;
        struct amdgpu_device *adev = ip_block->adev;
+       int i;
 
        adev->mmhub.funcs->init(adev);
 
@@ -800,7 +801,8 @@ static int gmc_v12_0_sw_init(struct amdgpu_ip_block *ip_block)
        case IP_VERSION(12, 1, 0):
                bitmap_set(adev->vmhubs_mask, AMDGPU_GFXHUB(0),
                                NUM_XCC(adev->gfx.xcc_mask));
-               set_bit(AMDGPU_MMHUB0(0), adev->vmhubs_mask);
+               for (i = 0; i < hweight32(adev->aid_mask); i++)
+                       set_bit(AMDGPU_MMHUB0(i), adev->vmhubs_mask);
                /*
                 * To fulfill 4-level page support,
                 * vm size is 256TB (48bit), maximum size,