From c22a5af9137394524f76e1f54b4e48fe92714fec Mon Sep 17 00:00:00 2001 From: Sami Kiminki Date: Thu, 2 Nov 2017 12:34:57 +0200 Subject: gpu: nvgpu: Remove support for legacy mapping Make NVGPU_AS_MAP_BUFFER_FLAGS_DIRECT_KIND_CTRL mandatory for all map IOCTLs. We'll clean up the legacy kernel code in subsequent patches. Remove support for NVGPU_AS_IOCTL_MAP_BUFFER. It has been superseded by NVGPU_AS_IOCTL_MAP_BUFFER_EX. Remove legacy definitions to nvgpu_map_buffer_args and the related flags, and update the in-kernel map calls accordingly by switching to the newer definitions. Bug 1902982 Change-Id: Ie9a7f02b8d5d0ec7c3722c4481afab6d39b4fbd0 Signed-off-by: Sami Kiminki Reviewed-on: https://git-master.nvidia.com/r/1560932 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/cde.c | 2 +- drivers/gpu/nvgpu/common/linux/ioctl_as.c | 27 +++++---------------------- drivers/gpu/nvgpu/common/mm/gmmu.c | 2 +- 3 files changed, 7 insertions(+), 24 deletions(-) (limited to 'drivers/gpu/nvgpu/common') diff --git a/drivers/gpu/nvgpu/common/linux/cde.c b/drivers/gpu/nvgpu/common/linux/cde.c index 775f9657..5063ba88 100644 --- a/drivers/gpu/nvgpu/common/linux/cde.c +++ b/drivers/gpu/nvgpu/common/linux/cde.c @@ -1279,7 +1279,7 @@ static int gk20a_cde_load(struct gk20a_cde_ctx *cde_ctx) /* map backing store to gpu virtual space */ vaddr = nvgpu_gmmu_map(ch->vm, &gr->compbit_store.mem, g->gr.compbit_store.mem.size, - NVGPU_MAP_BUFFER_FLAGS_CACHEABLE_TRUE, + NVGPU_AS_MAP_BUFFER_FLAGS_CACHEABLE, gk20a_mem_flag_read_only, false, gr->compbit_store.mem.aperture); diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_as.c b/drivers/gpu/nvgpu/common/linux/ioctl_as.c index e566bfb4..8a5318e4 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_as.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_as.c @@ -88,8 +88,8 @@ static int gk20a_as_ioctl_map_buffer_ex( compressible_kind = args->compr_kind; incompressible_kind = args->incompr_kind; } else { - compressible_kind = args->kind; - incompressible_kind = NV_KIND_INVALID; + /* unsupported, direct kind control must be used */ + return -EINVAL; } return nvgpu_vm_map_buffer(as_share->vm, args->dmabuf_fd, @@ -100,19 +100,6 @@ static int gk20a_as_ioctl_map_buffer_ex( NULL); } -static int gk20a_as_ioctl_map_buffer( - struct gk20a_as_share *as_share, - struct nvgpu_as_map_buffer_args *args) -{ - gk20a_dbg_fn(""); - return nvgpu_vm_map_buffer(as_share->vm, args->dmabuf_fd, - &args->o_a.offset, - args->flags, NV_KIND_DEFAULT, - NV_KIND_DEFAULT, - 0, 0, NULL); - /* args->o_a.offset will be set if !err */ -} - static int gk20a_as_ioctl_unmap_buffer( struct gk20a_as_share *as_share, struct nvgpu_as_unmap_buffer_args *args) @@ -187,8 +174,9 @@ static int gk20a_as_ioctl_map_buffer_batch( compressible_kind = map_args.compr_kind; incompressible_kind = map_args.incompr_kind; } else { - compressible_kind = map_args.kind; - incompressible_kind = NV_KIND_INVALID; + /* direct kind control must be used */ + err = -EINVAL; + break; } err = nvgpu_vm_map_buffer( @@ -348,11 +336,6 @@ long gk20a_as_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) err = gk20a_as_ioctl_free_space(as_share, (struct nvgpu_as_free_space_args *)buf); break; - case NVGPU_AS_IOCTL_MAP_BUFFER: - trace_gk20a_as_ioctl_map_buffer(g->name); - err = gk20a_as_ioctl_map_buffer(as_share, - (struct nvgpu_as_map_buffer_args *)buf); - break; case NVGPU_AS_IOCTL_MAP_BUFFER_EX: trace_gk20a_as_ioctl_map_buffer(g->name); err = gk20a_as_ioctl_map_buffer_ex(as_share, diff --git a/drivers/gpu/nvgpu/common/mm/gmmu.c b/drivers/gpu/nvgpu/common/mm/gmmu.c index d6aaf8cd..875bcc4e 100644 --- a/drivers/gpu/nvgpu/common/mm/gmmu.c +++ b/drivers/gpu/nvgpu/common/mm/gmmu.c @@ -680,7 +680,7 @@ u64 gk20a_locked_gmmu_map(struct vm_gk20a *vm, .pgsz = pgsz_idx, .kind_v = kind_v, .ctag = (u64)ctag_offset * (u64)ctag_granularity, - .cacheable = flags & NVGPU_MAP_BUFFER_FLAGS_CACHEABLE_TRUE, + .cacheable = flags & NVGPU_AS_MAP_BUFFER_FLAGS_CACHEABLE, .rw_flag = rw_flag, .sparse = sparse, .priv = priv, -- cgit v1.2.2