From 11933e722470125fcdf2ef58adc0fed669fca5cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Fri, 7 Sep 2018 14:21:15 +0200 Subject: [PATCH 0363/2940] drm/amdgpu: use the maximum possible fragment size on Vega/Raven MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The fragment size controls only the L1 on Vega/Raven and we now don't have any extra overhead any more because of larger fragments. Signed-off-by: Christian König Reviewed-by: Huang Rui Reviewed-by: Felix Kuehling Acked-by: Junwei Zhang --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 67abbf183a20..fac7760a3eda 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -1535,8 +1535,16 @@ static void amdgpu_vm_fragment(struct amdgpu_pte_update_params *params, * larger. Thus, we try to use large fragments wherever possible. * Userspace can support this by aligning virtual base address and * allocation size to the fragment size. + * + * Starting with Vega10 the fragment size only controls the L1. The L2 + * is now directly feed with small/huge/giant pages from the walker. */ - unsigned max_frag = params->adev->vm_manager.fragment_size; + unsigned max_frag; + + if (params->adev->asic_type < CHIP_VEGA10) + max_frag = params->adev->vm_manager.fragment_size; + else + max_frag = 31; /* system pages are non continuously */ if (params->src || !(flags & AMDGPU_PTE_VALID)) { -- 2.17.1