summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorSami Kiminki <skiminki@nvidia.com>2015-05-04 11:41:23 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2015-11-18 12:45:07 -0500
commit9d2c9072c8b9a7742db3974d6027df9d44e0953f (patch)
tree15ed7e5a3495db6032b43381641d102837decfad /drivers/gpu/nvgpu/gk20a/gk20a.h
parent503d3a0b1002685e65efb8b99a2362117ee62104 (diff)
gpu: nvgpu: User-space managed address space support
Implement NVGPU_GPU_IOCTL_ALLOC_AS_FLAGS_USERSPACE_MANAGED, which enables creating userspace-managed GPU address spaces. When an address space is marked as userspace-managed, the following changes are in effect: - Only fixed-address mappings are allowed. - VA space allocation for fixed-address mappings is not required, except to mark space as sparse. - Maps and unmaps are always immediate. In particular, the mapping ref increments at kickoffs and decrements at job completion are skipped. Bug 1614735 Bug 1623949 Bug 1660392 Change-Id: I834fe19b3f65e9b02c268952383eddee0e465759 Signed-off-by: Sami Kiminki <skiminki@nvidia.com> Reviewed-on: http://git-master/r/738558 Reviewed-on: http://git-master/r/833253 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 3542a597..ff37039f 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -370,7 +370,7 @@ struct gpu_ops {
370 struct vm_gk20a_mapping_batch *batch); 370 struct vm_gk20a_mapping_batch *batch);
371 void (*vm_remove)(struct vm_gk20a *vm); 371 void (*vm_remove)(struct vm_gk20a *vm);
372 int (*vm_alloc_share)(struct gk20a_as_share *as_share, 372 int (*vm_alloc_share)(struct gk20a_as_share *as_share,
373 u32 flags); 373 u32 big_page_size, u32 flags);
374 int (*vm_bind_channel)(struct gk20a_as_share *as_share, 374 int (*vm_bind_channel)(struct gk20a_as_share *as_share,
375 struct channel_gk20a *ch); 375 struct channel_gk20a *ch);
376 int (*fb_flush)(struct gk20a *g); 376 int (*fb_flush)(struct gk20a *g);