aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2722-drm-amdgpu-Fix-KFD-doorbell-SG-BO-mapping.patch
diff options
context:
space:
mode:
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.patch35
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
+