aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1649-drm-amdgpu-Clean-up-page-table-validation-code.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1649-drm-amdgpu-Clean-up-page-table-validation-code.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1649-drm-amdgpu-Clean-up-page-table-validation-code.patch126
1 files changed, 0 insertions, 126 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1649-drm-amdgpu-Clean-up-page-table-validation-code.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1649-drm-amdgpu-Clean-up-page-table-validation-code.patch
deleted file mode 100644
index 001f9202..00000000
--- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1649-drm-amdgpu-Clean-up-page-table-validation-code.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 530c33b5144b08953548905e18c0e07ce47e8291 Mon Sep 17 00:00:00 2001
-From: Felix Kuehling <Felix.Kuehling@amd.com>
-Date: Thu, 30 Mar 2017 14:00:52 -0400
-Subject: [PATCH 1649/4131] drm/amdgpu: Clean up page table validation code
-
-Reduce code duplication and rename confusingly similar function names
-validate_pt_pd_bos and validate_pd_pt_bos.
-
-Change-Id: I13c305bbf003ce2764214ef9078761a21a3a54e0
-Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 48 ++++++++----------------
- 1 file changed, 16 insertions(+), 32 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-index 2aa65f7..b0527bd 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-@@ -426,9 +426,10 @@ static int amdgpu_amdkfd_validate(void *param, struct amdgpu_bo *bo)
- return amdgpu_amdkfd_bo_validate(bo, p->domain, p->wait);
- }
-
--static int validate_pt_pd_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm)
-+static int vm_validate_pt_pd_bos(struct amdgpu_vm *vm)
- {
- struct amdgpu_bo *pd = vm->root.bo;
-+ struct amdgpu_device *adev = amdgpu_ttm_adev(pd->tbo.bdev);
- struct amdgpu_vm_parser param;
- int ret;
-
-@@ -437,18 +438,20 @@ static int validate_pt_pd_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm)
-
- ret = amdgpu_vm_validate_pt_bos(adev, vm, amdgpu_amdkfd_validate,
- &param);
--
- if (ret) {
- pr_err("amdgpu: failed to validate PT BOs\n");
-- } else {
-- ret = amdgpu_amdkfd_validate(&param, pd);
-- if (ret)
-- pr_err("amdgpu: failed to validate PD\n");
-+ return ret;
-+ }
-+
-+ ret = amdgpu_amdkfd_validate(&param, pd);
-+ if (ret) {
-+ pr_err("amdgpu: failed to validate PD\n");
-+ return ret;
- }
-
- vm->last_eviction_counter = atomic64_read(&adev->num_evictions);
-
-- return ret;
-+ return 0;
- }
-
- static void add_kgd_mem_to_kfd_bo_list(struct kgd_mem *mem,
-@@ -989,7 +992,7 @@ static int map_bo_to_gpuvm(struct amdgpu_device *adev,
- /* PT BOs may be created during amdgpu_vm_bo_map() call,
- * so we have to validate the newly created PT BOs.
- */
-- ret = validate_pt_pd_bos(adev, entry->bo_va->vm);
-+ ret = vm_validate_pt_pd_bos(entry->bo_va->vm);
- if (ret != 0) {
- pr_err("validate_pt_pd_bos() failed\n");
- return ret;
-@@ -1872,35 +1875,16 @@ int amdgpu_amdkfd_gpuvm_export_dmabuf(struct kgd_dev *kgd, void *vm,
- return 0;
- }
-
--static int validate_pd_pt_bos(struct amdkfd_process_info *process_info)
-+static int process_validate_vms(struct amdkfd_process_info *process_info)
- {
- struct amdkfd_vm *peer_vm;
-- struct amdgpu_vm_parser param;
- int ret;
-
-- param.domain = AMDGPU_GEM_DOMAIN_VRAM;
-- param.wait = false;
--
- list_for_each_entry(peer_vm, &process_info->vm_list_head,
- vm_list_node) {
-- struct amdgpu_bo *pd_bo = peer_vm->base.root.bo;
-- struct amdgpu_device *adev = amdgpu_ttm_adev(pd_bo->tbo.bdev);
--
-- ret = amdgpu_amdkfd_bo_validate(pd_bo, pd_bo->prefered_domains,
-- false);
-- if (ret) {
-- pr_debug("Validate PD failed. Try again\n");
-- return ret;
-- }
--
-- ret = amdgpu_vm_validate_pt_bos(adev, &peer_vm->base,
-- amdgpu_amdkfd_validate, &param);
-- if (ret) {
-- pr_debug("Validate PTs failed. Try again\n");
-+ ret = vm_validate_pt_pd_bos(&peer_vm->base);
-+ if (ret)
- return ret;
-- }
-- peer_vm->base.last_eviction_counter =
-- atomic64_read(&adev->num_evictions);
- }
-
- return 0;
-@@ -2079,7 +2063,7 @@ static int validate_invalid_user_pages(struct amdkfd_process_info *process_info)
-
- amdgpu_sync_create(&sync);
-
-- ret = validate_pd_pt_bos(process_info);
-+ ret = process_validate_vms(process_info);
- if (ret)
- goto unreserve_out;
-
-@@ -2310,7 +2294,7 @@ int amdgpu_amdkfd_gpuvm_restore_process_bos(void *info)
- amdgpu_sync_create(&ctx.sync);
-
- /* Validate PDs and PTs */
-- ret = validate_pd_pt_bos(process_info);
-+ ret = process_validate_vms(process_info);
- if (ret)
- goto validate_map_fail;
-
---
-2.7.4
-