summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJoshua Bakita <jbakita@cs.unc.edu>2022-05-24 21:11:59 -0400
committerJoshua Bakita <jbakita@cs.unc.edu>2022-05-24 21:11:59 -0400
commitee26a2842ca891d3ae8b1de1b066d29234fc0115 (patch)
treea0bf21050569e8d369fc1410860e57158fac761b /include
parent46b43d2b2485233397f4f62b9bac6d35434b7aea (diff)
gpu-paging: Initial working implementation
Supports synchronous page out or in of a specific buffer. Includes fast reverse struct mapped_buf lookup. Requires initial set of changes to nvmap as well.
Diffstat (limited to 'include')
-rw-r--r--include/uapi/linux/nvgpu.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h
index 873e787f..0138b720 100644
--- a/include/uapi/linux/nvgpu.h
+++ b/include/uapi/linux/nvgpu.h
@@ -2176,6 +2176,10 @@ struct nvgpu_as_get_sync_ro_map_args {
2176 __u32 padding; 2176 __u32 padding;
2177}; 2177};
2178 2178
2179struct nvgpu_as_swap_buffer_args {
2180 __u32 dmabuf_fd; /* in */
2181};
2182
2179#define NVGPU_AS_IOCTL_BIND_CHANNEL \ 2183#define NVGPU_AS_IOCTL_BIND_CHANNEL \
2180 _IOWR(NVGPU_AS_IOCTL_MAGIC, 1, struct nvgpu_as_bind_channel_args) 2184 _IOWR(NVGPU_AS_IOCTL_MAGIC, 1, struct nvgpu_as_bind_channel_args)
2181#define NVGPU32_AS_IOCTL_ALLOC_SPACE \ 2185#define NVGPU32_AS_IOCTL_ALLOC_SPACE \
@@ -2198,9 +2202,13 @@ struct nvgpu_as_get_sync_ro_map_args {
2198 _IOWR(NVGPU_AS_IOCTL_MAGIC, 11, struct nvgpu_as_map_buffer_batch_args) 2202 _IOWR(NVGPU_AS_IOCTL_MAGIC, 11, struct nvgpu_as_map_buffer_batch_args)
2199#define NVGPU_AS_IOCTL_GET_SYNC_RO_MAP \ 2203#define NVGPU_AS_IOCTL_GET_SYNC_RO_MAP \
2200 _IOR(NVGPU_AS_IOCTL_MAGIC, 12, struct nvgpu_as_get_sync_ro_map_args) 2204 _IOR(NVGPU_AS_IOCTL_MAGIC, 12, struct nvgpu_as_get_sync_ro_map_args)
2205#define NVGPU_AS_IOCTL_WRITE_SWAP_BUFFER \
2206 _IOW(NVGPU_AS_IOCTL_MAGIC, 13, struct nvgpu_as_swap_buffer_args)
2207#define NVGPU_AS_IOCTL_READ_SWAP_BUFFER \
2208 _IOW(NVGPU_AS_IOCTL_MAGIC, 14, struct nvgpu_as_swap_buffer_args)
2201 2209
2202#define NVGPU_AS_IOCTL_LAST \ 2210#define NVGPU_AS_IOCTL_LAST \
2203 _IOC_NR(NVGPU_AS_IOCTL_GET_SYNC_RO_MAP) 2211 _IOC_NR(NVGPU_AS_IOCTL_READ_SWAP_BUFFER)
2204#define NVGPU_AS_IOCTL_MAX_ARG_SIZE \ 2212#define NVGPU_AS_IOCTL_MAX_ARG_SIZE \
2205 sizeof(struct nvgpu_as_map_buffer_ex_args) 2213 sizeof(struct nvgpu_as_map_buffer_ex_args)
2206 2214