drm/amdgpu: Use mmhub inst_mask for gmc v12_1 vmhub setup

gmc v12_1 currently derives the number of mmhub vmhubs
from the aid_mask when populating vmhubs_mask. This
breaks when mmhub is represented by mid and mmhub
inst_mask does not match the aid_mask.

Iterate over adev->mmhub.inst_mask instead so vmhubs_mask
reflects the discovered mmhub instances.

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Mangesh Gadre <Mangesh.Gadre@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Hawking Zhang 2026-07-05 11:50:48 +08:00 committed by Alex Deucher
parent 1ad9d95665
commit f8c035cfdb

View File

@ -845,7 +845,7 @@ 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));
for (i = 0; i < hweight32(adev->aid_mask); i++)
for_each_inst(i, adev->mmhub.inst_mask)
set_bit(AMDGPU_MMHUB0(i), adev->vmhubs_mask);
/*
* To fulfill 5-level page support,