]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdkfd: use GTT for VRAM on APUs only if GTT is larger
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Jan 2025 20:20:05 +0000 (15:20 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 13 Feb 2025 02:04:08 +0000 (21:04 -0500)
If the user has configured a large carveout on a small APU,
only use GTT for VRAM allocations if GTT is larger than
VRAM.

v2: fix reversed check (Philip)

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index e68324ee4b2591a04dbdb373b315402814a2dac1..bcb4bcc4ab7516d5e7c94dbb312eb3c5b6e99420 100644 (file)
@@ -1987,8 +1987,10 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
        DRM_INFO("amdgpu: %uM of GTT memory ready.\n",
                 (unsigned int)(gtt_size / (1024 * 1024)));
 
-       if (adev->flags & AMD_IS_APU)
-               adev->apu_prefer_gtt = true;
+       if (adev->flags & AMD_IS_APU) {
+               if (adev->gmc.real_vram_size < gtt_size)
+                       adev->apu_prefer_gtt = true;
+       }
 
        /* Initialize doorbell pool on PCI BAR */
        r = amdgpu_ttm_init_on_chip(adev, AMDGPU_PL_DOORBELL, adev->doorbell.size / PAGE_SIZE);