drm/amdgpu: don't try to reserve training bo for sriov (v2)
authorMonk Liu <Monk.Liu@amd.com>
Wed, 4 Mar 2020 07:21:22 +0000 (15:21 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 25 Mar 2020 21:04:35 +0000 (17:04 -0400)
1) SRIOV guest KMD doesn't care training buffer
2) if we resered training buffer that will overlap with IP discovery
reservation because training buffer is at vram_size - 0x8000 and
IP discovery is at ()vram_size - 0x10000 => vram_size -1)

v2: squash in warning fix from Nirmoy

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Emily Deng <Emily.Deng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index c10ae1c..cd6cac4 100644 (file)
@@ -1840,9 +1840,11 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
         *The reserved vram for memory training must be pinned to the specified
         *place on the VRAM, so reserve it early.
         */
-       r = amdgpu_ttm_training_reserve_vram_init(adev);
-       if (r)
-               return r;
+       if (!amdgpu_sriov_vf(adev)) {
+               r = amdgpu_ttm_training_reserve_vram_init(adev);
+               if (r)
+                       return r;
+       }
 
        /* allocate memory as required for VGA
         * This is used for VGA emulation and pre-OS scanout buffers to