diff options
author | Roger He <Hongbo.He@amd.com> | 2017-11-10 06:05:13 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-12-06 12:47:49 -0500 |
commit | 424e2c8580286b75c37dc02f26f4fb6168549d32 (patch) | |
tree | 8b2bf53a1a6c0ffe84e59de56ae56b24f175352e /drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |
parent | 02bab92328b4d4e0f688be960f0fb5fed1c07ea2 (diff) |
drm/amd/amdgpu: not allow gtt size exceed 75%*system memory size
keep consistency with threshold of swapout
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Roger He <Hongbo.He@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index 44983d16bf61..b12a46fadb16 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |||
@@ -1330,9 +1330,14 @@ int amdgpu_ttm_init(struct amdgpu_device *adev) | |||
1330 | DRM_INFO("amdgpu: %uM of VRAM memory ready\n", | 1330 | DRM_INFO("amdgpu: %uM of VRAM memory ready\n", |
1331 | (unsigned) (adev->mc.real_vram_size / (1024 * 1024))); | 1331 | (unsigned) (adev->mc.real_vram_size / (1024 * 1024))); |
1332 | 1332 | ||
1333 | if (amdgpu_gtt_size == -1) | 1333 | if (amdgpu_gtt_size == -1) { |
1334 | gtt_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20), | 1334 | struct sysinfo si; |
1335 | adev->mc.mc_vram_size); | 1335 | |
1336 | si_meminfo(&si); | ||
1337 | gtt_size = min(max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20), | ||
1338 | adev->mc.mc_vram_size), | ||
1339 | ((uint64_t)si.totalram * si.mem_unit * 3/4)); | ||
1340 | } | ||
1336 | else | 1341 | else |
1337 | gtt_size = (uint64_t)amdgpu_gtt_size << 20; | 1342 | gtt_size = (uint64_t)amdgpu_gtt_size << 20; |
1338 | r = ttm_bo_init_mm(&adev->mman.bdev, TTM_PL_TT, gtt_size >> PAGE_SHIFT); | 1343 | r = ttm_bo_init_mm(&adev->mman.bdev, TTM_PL_TT, gtt_size >> PAGE_SHIFT); |