Revert "drm/amd/amdgpu: set gtt size according to system memory size only"
authorAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Fri, 15 Dec 2017 17:09:16 +0000 (12:09 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 18 Dec 2017 16:53:24 +0000 (11:53 -0500)
This reverts commit ba851eed895c76be0eb4260bdbeb7e26f9ccfaa2.
With that change piglit max size tests (running with -t max.*size) are causing
OOM and hard hang on my CZ with 1GB RAM.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Roger He <Hongbo.He@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index 5b5554cba35f5670455384cb106e50b4669c38b2..f1b7d987bd572f56247621144d8667a38a548ca8 100644 (file)
@@ -1424,9 +1424,11 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
                struct sysinfo si;
 
                si_meminfo(&si);
-               gtt_size = max(AMDGPU_DEFAULT_GTT_SIZE_MB << 20,
-                       (uint64_t)si.totalram * si.mem_unit * 3/4);
-       } else
+               gtt_size = min(max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20),
+                              adev->mc.mc_vram_size),
+                              ((uint64_t)si.totalram * si.mem_unit * 3/4));
+       }
+       else
                gtt_size = (uint64_t)amdgpu_gtt_size << 20;
        r = ttm_bo_init_mm(&adev->mman.bdev, TTM_PL_TT, gtt_size >> PAGE_SHIFT);
        if (r) {