diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1333-drm-amdkfd-fix-CWSR-memory-allocation-sequence.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1333-drm-amdkfd-fix-CWSR-memory-allocation-sequence.patch | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1333-drm-amdkfd-fix-CWSR-memory-allocation-sequence.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1333-drm-amdkfd-fix-CWSR-memory-allocation-sequence.patch deleted file mode 100644 index 46eb6087..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1333-drm-amdkfd-fix-CWSR-memory-allocation-sequence.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 0fbcefff6aa4b200b1528d422893c9228e955c69 Mon Sep 17 00:00:00 2001 -From: Eric Huang <JinHuiEric.Huang@amd.com> -Date: Tue, 22 Aug 2017 11:47:45 -0400 -Subject: [PATCH 1333/4131] drm/amdkfd: fix CWSR memory allocation sequence - -it makes CWSR memory kernel address valid after -memory eviction. - -Change-Id: I805bb6653981048ee6a484681fe9b554bd379550 -Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> ---- - drivers/gpu/drm/amd/amdkfd/kfd_process.c | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c -index 3e966a3..2e784dd 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c -@@ -115,10 +115,11 @@ static int kfd_process_alloc_gpuvm(struct kfd_process *p, - { - int err; - void *mem = NULL; -+ int handle; - - err = kdev->kfd2kgd->alloc_memory_of_gpu(kdev->kgd, gpu_va, size, - pdd->vm, -- (struct kgd_mem **)&mem, NULL, kptr, -+ (struct kgd_mem **)&mem, NULL, NULL, - flags); - if (err) - goto err_alloc_mem; -@@ -142,15 +143,27 @@ static int kfd_process_alloc_gpuvm(struct kfd_process *p, - * We do not need to take p->mutex, because the process is just - * created and the ioctls have not had the chance to run. - */ -- if (kfd_process_device_create_obj_handle( -- pdd, mem, gpu_va, size, NULL) < 0) { -- err = -ENOMEM; -- *kptr = NULL; -+ handle = kfd_process_device_create_obj_handle( -+ pdd, mem, gpu_va, size, NULL); -+ -+ if (handle < 0) { -+ err = handle; - goto free_gpuvm; - } - -+ if (kptr) { -+ err = kdev->kfd2kgd->map_gtt_bo_to_kernel(kdev->kgd, -+ (struct kgd_mem *)mem, kptr); -+ if (err) { -+ pr_debug("Map GTT BO to kernel failed\n"); -+ goto free_obj_handle; -+ } -+ } -+ - return err; - -+free_obj_handle: -+ kfd_process_device_remove_obj_handle(pdd, handle); - free_gpuvm: - sync_memory_failed: - kfd_process_free_gpuvm(mem, pdd); --- -2.7.4 - |