aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1774-drm-amdgpu-amdkfd-remove-unused-parameter-in-kfd-all.patch
blob: 4d2e8c545195eb2795342682c317a1cc107b6404 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
From fcd6ab76f43c11803a6ec5b2c102bbb67e63d2c9 Mon Sep 17 00:00:00 2001
From: Eric Huang <JinHuiEric.Huang@amd.com>
Date: Tue, 22 Aug 2017 13:58:51 -0400
Subject: [PATCH 1774/4131] drm/amdgpu/amdkfd: remove unused parameter in kfd
 alloc_memory_of_gpu

Change-Id: I99ef3344e977051a16c5fbc21fb18c409d5d7136
Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h       |  3 +--
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 21 ++++-----------------
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c         |  2 +-
 drivers/gpu/drm/amd/amdkfd/kfd_process.c         |  3 +--
 drivers/gpu/drm/amd/include/kgd_kfd_interface.h  |  2 +-
 5 files changed, 8 insertions(+), 23 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
index 77a7bd7..50cd9e1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
@@ -198,8 +198,7 @@ int amdgpu_amdkfd_gpuvm_sync_memory(
 int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
 		struct kgd_dev *kgd, uint64_t va, uint64_t size,
 		void *vm, struct kgd_mem **mem,
-		uint64_t *offset, void **kptr,
-		uint32_t flags);
+		uint64_t *offset, uint32_t flags);
 int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
 		struct kgd_dev *kgd, struct kgd_mem *mem, void *vm);
 int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index 5c5162c..edc1d24 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -654,8 +654,8 @@ static int __map_bo_to_kernel(struct amdgpu_bo *bo, u32 domain, void **kptr)
 
 static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
 		uint64_t size, void *vm, struct kgd_mem **mem,
-		uint64_t *offset, void **kptr,
-		u32 domain, u64 flags, struct sg_table *sg, bool aql_queue,
+		uint64_t *offset, u32 domain, u64 flags,
+		struct sg_table *sg, bool aql_queue,
 		bool readonly, bool execute, bool coherent, bool no_sub,
 		bool userptr)
 {
@@ -736,12 +736,6 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
 	if (userptr)
 		bo->flags |= AMDGPU_AMDKFD_USERPTR_BO;
 
-	if (kptr) {
-		ret = __map_bo_to_kernel(bo, domain, kptr);
-		if (ret)
-			goto map_bo_to_kernel_failed;
-	}
-
 	(*mem)->va = va;
 	(*mem)->domain = domain;
 	(*mem)->mapped_to_gpu_memory = 0;
@@ -763,7 +757,6 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
 
 	return 0;
 
-map_bo_to_kernel_failed:
 allocate_init_user_pages_failed:
 	amdgpu_bo_unref(&bo);
 err_bo_create:
@@ -1087,8 +1080,7 @@ int amdgpu_amdkfd_gpuvm_sync_memory(
 int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
 		struct kgd_dev *kgd, uint64_t va, uint64_t size,
 		void *vm, struct kgd_mem **mem,
-		uint64_t *offset, void **kptr,
-		uint32_t flags)
+		uint64_t *offset, uint32_t flags)
 {
 	bool aql_queue, public, readonly, execute, coherent, no_sub, userptr;
 	u64 alloc_flag;
@@ -1113,11 +1105,6 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
 	no_sub    = (flags & ALLOC_MEM_FLAGS_NO_SUBSTITUTE) ? true : false;
 	userptr   = (flags & ALLOC_MEM_FLAGS_USERPTR) ? true : false;
 
-	if (userptr && kptr) {
-		pr_err("userptr can't be mapped to kernel\n");
-		return -EINVAL;
-	}
-
 	/*
 	 * Check on which domain to allocate BO
 	 */
@@ -1156,7 +1143,7 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
 			BOOL_TO_STR(coherent), BOOL_TO_STR(no_sub));
 
 	return __alloc_memory_of_gpu(kgd, va, size, vm, mem,
-			temp_offset, kptr, domain,
+			temp_offset, domain,
 			alloc_flag, sg,
 			aql_queue, readonly, execute,
 			coherent, no_sub, userptr);
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
index 29fca8d..b2795af 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
@@ -1202,7 +1202,7 @@ static int kfd_ioctl_alloc_memory_of_gpu(struct file *filep,
 	err = dev->kfd2kgd->alloc_memory_of_gpu(
 		dev->kgd, args->va_addr, args->size,
 		pdd->vm, (struct kgd_mem **) &mem, &offset,
-		NULL, flags);
+		flags);
 
 	if (err)
 		goto err_unlock;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
index 2e784dd..4080ac0 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
@@ -119,8 +119,7 @@ static int kfd_process_alloc_gpuvm(struct kfd_process *p,
 
 	err = kdev->kfd2kgd->alloc_memory_of_gpu(kdev->kgd, gpu_va, size,
 				pdd->vm,
-				(struct kgd_mem **)&mem, NULL, NULL,
-				flags);
+				(struct kgd_mem **)&mem, NULL, flags);
 	if (err)
 		goto err_alloc_mem;
 
diff --git a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
index 71c50f9..ed60c5d 100644
--- a/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
+++ b/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
@@ -344,7 +344,7 @@ struct kfd2kgd_calls {
 	int (*alloc_memory_of_gpu)(struct kgd_dev *kgd, uint64_t va,
 			uint64_t size, void *vm,
 			struct kgd_mem **mem, uint64_t *offset,
-			void **kptr, uint32_t flags);
+			uint32_t flags);
 	int (*free_memory_of_gpu)(struct kgd_dev *kgd, struct kgd_mem *mem,
 			void *vm);
 	int (*map_memory_to_gpu)(struct kgd_dev *kgd, struct kgd_mem *mem,
-- 
2.7.4