summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLikun Gao <Likun.Gao@amd.com>2025-11-11 06:43:05 +0300
committerAlex Deucher <alexander.deucher@amd.com>2025-12-08 22:27:09 +0300
commit1359282bd4ff16752c977d2f1a01a315c8df9f6b (patch)
treeae1eb22a1bfc307f3f573fd987bb008fd78fb1ab
parent6c4c2e2c403530ea0a171b1376bfda8feb3ea4dc (diff)
downloadlinux-1359282bd4ff16752c977d2f1a01a315c8df9f6b.tar.xz
drm/amdgpu/gmc12: set MMHUBs based on aid_mask
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>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
index bb3d7fc40122..efc519112ac4 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
@@ -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,