summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHawking Zhang <Hawking.Zhang@amd.com>2026-01-28 14:18:28 +0300
committerAlex Deucher <alexander.deucher@amd.com>2026-03-17 17:32:54 +0300
commit25aa39a863932f43a4d52c54bbbd18ee626e39dc (patch)
treee3e199d691bfe72f45a001530c4d638d4e251937
parent93d82ed35de622b90951434593a41abef7d98ae7 (diff)
downloadlinux-25aa39a863932f43a4d52c54bbbd18ee626e39dc.tar.xz
drm/amdgpu/gmc12: Init vram_size for A + A
Calculate vram_size using the XGMI node segment size and node count for A+A configurations Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Likun Gao <Likun.Gao@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
index 2b5f01f15fac..ac39011d1268 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
@@ -728,9 +728,13 @@ static int gmc_v12_0_mc_init(struct amdgpu_device *adev)
{
int r;
- /* size in MB on si */
- adev->gmc.mc_vram_size =
- adev->nbio.funcs->get_memsize(adev) * 1024ULL * 1024ULL;
+ if (adev->gmc.xgmi.connected_to_cpu)
+ adev->gmc.mc_vram_size =
+ adev->gmc.xgmi.node_segment_size * adev->gmc.xgmi.num_physical_nodes;
+ else
+ adev->gmc.mc_vram_size =
+ adev->nbio.funcs->get_memsize(adev) * 1024ULL * 1024ULL;
+
adev->gmc.real_vram_size = adev->gmc.mc_vram_size;
if (!(adev->flags & AMD_IS_APU) &&