summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-08-29 16:00:22 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-09-07 23:07:16 -0400
commitbb457e675ed2c5dde45e2e89e3e472833444d3f9 (patch)
tree4fee7ce5c48cb6ba800c38ab5a4a520078bb2a22 /drivers/gpu/nvgpu/common
parentd2dce545bb08148171457424a172c8d66a111005 (diff)
gpu: nvgpu: Remove mapping of comptags to user VA
Remove the kernel feature to map compbit backing store areas to GPU VA. The feature is not used, and the relevant user space code is getting removed, too. Change-Id: I94f8bb9145da872694fdc5d3eb3c1365b2f47945 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1547898 Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: Sami Kiminki <skiminki@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'drivers/gpu/nvgpu/common')
-rw-r--r--drivers/gpu/nvgpu/common/linux/ioctl_as.c33
-rw-r--r--drivers/gpu/nvgpu/common/linux/vm.c12
-rw-r--r--drivers/gpu/nvgpu/common/linux/vm_priv.h10
3 files changed, 2 insertions, 53 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_as.c b/drivers/gpu/nvgpu/common/linux/ioctl_as.c
index 273024bd..6fd0a3d2 100644
--- a/drivers/gpu/nvgpu/common/linux/ioctl_as.c
+++ b/drivers/gpu/nvgpu/common/linux/ioctl_as.c
@@ -227,31 +227,6 @@ static int gk20a_as_ioctl_get_va_regions(
227 return 0; 227 return 0;
228} 228}
229 229
230static int gk20a_as_ioctl_get_buffer_compbits_info(
231 struct gk20a_as_share *as_share,
232 struct nvgpu_as_get_buffer_compbits_info_args *args)
233{
234 gk20a_dbg_fn("");
235 return nvgpu_vm_get_compbits_info(as_share->vm,
236 args->mapping_gva,
237 &args->compbits_win_size,
238 &args->compbits_win_ctagline,
239 &args->mapping_ctagline,
240 &args->flags);
241}
242
243static int gk20a_as_ioctl_map_buffer_compbits(
244 struct gk20a_as_share *as_share,
245 struct nvgpu_as_map_buffer_compbits_args *args)
246{
247 gk20a_dbg_fn("");
248 return nvgpu_vm_map_compbits(as_share->vm,
249 args->mapping_gva,
250 &args->compbits_win_gva,
251 &args->mapping_iova,
252 args->flags);
253}
254
255int gk20a_as_dev_open(struct inode *inode, struct file *filp) 230int gk20a_as_dev_open(struct inode *inode, struct file *filp)
256{ 231{
257 struct nvgpu_os_linux *l; 232 struct nvgpu_os_linux *l;
@@ -364,14 +339,6 @@ long gk20a_as_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
364 err = gk20a_as_ioctl_get_va_regions(as_share, 339 err = gk20a_as_ioctl_get_va_regions(as_share,
365 (struct nvgpu_as_get_va_regions_args *)buf); 340 (struct nvgpu_as_get_va_regions_args *)buf);
366 break; 341 break;
367 case NVGPU_AS_IOCTL_GET_BUFFER_COMPBITS_INFO:
368 err = gk20a_as_ioctl_get_buffer_compbits_info(as_share,
369 (struct nvgpu_as_get_buffer_compbits_info_args *)buf);
370 break;
371 case NVGPU_AS_IOCTL_MAP_BUFFER_COMPBITS:
372 err = gk20a_as_ioctl_map_buffer_compbits(as_share,
373 (struct nvgpu_as_map_buffer_compbits_args *)buf);
374 break;
375 case NVGPU_AS_IOCTL_MAP_BUFFER_BATCH: 342 case NVGPU_AS_IOCTL_MAP_BUFFER_BATCH:
376 err = gk20a_as_ioctl_map_buffer_batch(as_share, 343 err = gk20a_as_ioctl_map_buffer_batch(as_share,
377 (struct nvgpu_as_map_buffer_batch_args *)buf); 344 (struct nvgpu_as_map_buffer_batch_args *)buf);
diff --git a/drivers/gpu/nvgpu/common/linux/vm.c b/drivers/gpu/nvgpu/common/linux/vm.c
index c84f531d..0ace5abe 100644
--- a/drivers/gpu/nvgpu/common/linux/vm.c
+++ b/drivers/gpu/nvgpu/common/linux/vm.c
@@ -199,8 +199,6 @@ u64 nvgpu_vm_map(struct vm_gk20a *vm,
199 struct gk20a_comptags comptags; 199 struct gk20a_comptags comptags;
200 bool clear_ctags = false; 200 bool clear_ctags = false;
201 struct scatterlist *sgl; 201 struct scatterlist *sgl;
202 u64 ctag_map_win_size = 0;
203 u32 ctag_map_win_ctagline = 0;
204 struct nvgpu_vm_area *vm_area = NULL; 202 struct nvgpu_vm_area *vm_area = NULL;
205 u32 ctag_offset; 203 u32 ctag_offset;
206 enum nvgpu_aperture aperture; 204 enum nvgpu_aperture aperture;
@@ -298,15 +296,10 @@ u64 nvgpu_vm_map(struct vm_gk20a *vm,
298 g->ops.fb.compression_page_size(g)); 296 g->ops.fb.compression_page_size(g));
299 297
300 if (bfr.ctag_lines && !comptags.lines) { 298 if (bfr.ctag_lines && !comptags.lines) {
301 const bool user_mappable =
302 !!(flags & NVGPU_AS_MAP_BUFFER_FLAGS_MAPPABLE_COMPBITS);
303
304 /* allocate compression resources if needed */ 299 /* allocate compression resources if needed */
305 err = gk20a_alloc_comptags(g, dev, dmabuf, 300 err = gk20a_alloc_comptags(g, dev, dmabuf,
306 ctag_allocator, 301 ctag_allocator,
307 bfr.ctag_lines, user_mappable, 302 bfr.ctag_lines);
308 &ctag_map_win_size,
309 &ctag_map_win_ctagline);
310 if (err) { 303 if (err) {
311 /* ok to fall back here if we ran out */ 304 /* ok to fall back here if we ran out */
312 /* TBD: we can partially alloc ctags as well... */ 305 /* TBD: we can partially alloc ctags as well... */
@@ -370,9 +363,6 @@ u64 nvgpu_vm_map(struct vm_gk20a *vm,
370 mapped_buffer->ctag_offset = bfr.ctag_offset; 363 mapped_buffer->ctag_offset = bfr.ctag_offset;
371 mapped_buffer->ctag_lines = bfr.ctag_lines; 364 mapped_buffer->ctag_lines = bfr.ctag_lines;
372 mapped_buffer->ctag_allocated_lines = bfr.ctag_allocated_lines; 365 mapped_buffer->ctag_allocated_lines = bfr.ctag_allocated_lines;
373 mapped_buffer->ctags_mappable = bfr.ctag_user_mappable;
374 mapped_buffer->ctag_map_win_size = ctag_map_win_size;
375 mapped_buffer->ctag_map_win_ctagline = ctag_map_win_ctagline;
376 mapped_buffer->vm = vm; 366 mapped_buffer->vm = vm;
377 mapped_buffer->flags = flags; 367 mapped_buffer->flags = flags;
378 mapped_buffer->kind = kind; 368 mapped_buffer->kind = kind;
diff --git a/drivers/gpu/nvgpu/common/linux/vm_priv.h b/drivers/gpu/nvgpu/common/linux/vm_priv.h
index 14852264..4f6b10bb 100644
--- a/drivers/gpu/nvgpu/common/linux/vm_priv.h
+++ b/drivers/gpu/nvgpu/common/linux/vm_priv.h
@@ -49,12 +49,6 @@ u64 nvgpu_vm_map(struct vm_gk20a *vm,
49 u64 mapping_size, 49 u64 mapping_size,
50 struct vm_gk20a_mapping_batch *mapping_batch); 50 struct vm_gk20a_mapping_batch *mapping_batch);
51 51
52int nvgpu_vm_map_compbits(struct vm_gk20a *vm,
53 u64 mapping_gva,
54 u64 *compbits_win_gva,
55 u64 *mapping_iova,
56 u32 flags);
57
58/* Note: batch may be NULL if map op is not part of a batch */ 52/* Note: batch may be NULL if map op is not part of a batch */
59int nvgpu_vm_map_buffer(struct vm_gk20a *vm, 53int nvgpu_vm_map_buffer(struct vm_gk20a *vm,
60 int dmabuf_fd, 54 int dmabuf_fd,
@@ -86,8 +80,6 @@ int gk20a_alloc_comptags(struct gk20a *g,
86 struct device *dev, 80 struct device *dev,
87 struct dma_buf *dmabuf, 81 struct dma_buf *dmabuf,
88 struct gk20a_comptag_allocator *allocator, 82 struct gk20a_comptag_allocator *allocator,
89 u32 lines, bool user_mappable, 83 u32 lines);
90 u64 *ctag_map_win_size,
91 u32 *ctag_map_win_ctagline);
92 84
93#endif 85#endif