diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0363-drm-amdgpu-use-the-maximum-possible-fragment-size-on.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0363-drm-amdgpu-use-the-maximum-possible-fragment-size-on.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0363-drm-amdgpu-use-the-maximum-possible-fragment-size-on.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0363-drm-amdgpu-use-the-maximum-possible-fragment-size-on.patch new file mode 100644 index 00000000..2b965915 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0363-drm-amdgpu-use-the-maximum-possible-fragment-size-on.patch @@ -0,0 +1,45 @@ +From 11933e722470125fcdf2ef58adc0fed669fca5cd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +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 <christian.koenig@amd.com> +Reviewed-by: Huang Rui <ray.huang@amd.com> +Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> +Acked-by: Junwei Zhang <Jerry.Zhang@amd.com> +--- + 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 + |