diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2722-drm-amdgpu-Fix-KFD-doorbell-SG-BO-mapping.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2722-drm-amdgpu-Fix-KFD-doorbell-SG-BO-mapping.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2722-drm-amdgpu-Fix-KFD-doorbell-SG-BO-mapping.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2722-drm-amdgpu-Fix-KFD-doorbell-SG-BO-mapping.patch new file mode 100644 index 00000000..cd2bc3a7 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2722-drm-amdgpu-Fix-KFD-doorbell-SG-BO-mapping.patch @@ -0,0 +1,35 @@ +From 1b203e62aae262f3481c0fa45e662bd62ca33763 Mon Sep 17 00:00:00 2001 +From: Felix Kuehling <Felix.Kuehling@amd.com> +Date: Thu, 3 May 2018 17:37:56 -0400 +Subject: [PATCH 2722/2940] drm/amdgpu: Fix KFD doorbell SG BO mapping + +This change prepares for adding SG BOs that will be used for mapping +doorbells into GPUVM address space. + +This type of BO would be mistaken for an invalid userptr BO. Improve +that check to test that it's actually a userptr BO so that SG BOs that +are still in the CPU domain can be validated and mapped correctly. + +Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +index 59d6dcf8ba43..a79023a9e21b 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +@@ -1400,7 +1400,8 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu( + * the queues are still stopped and we can leave mapping for + * the next restore worker + */ +- if (bo->tbo.mem.mem_type == TTM_PL_SYSTEM) ++ if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) && ++ bo->tbo.mem.mem_type == TTM_PL_SYSTEM) + is_invalid_userptr = true; + + if (check_if_add_bo_to_vm(avm, mem)) { +-- +2.17.1 + |