diff options
author | Joshua Bakita <jbakita@cs.unc.edu> | 2022-05-24 21:11:59 -0400 |
---|---|---|
committer | Joshua Bakita <jbakita@cs.unc.edu> | 2022-05-24 21:11:59 -0400 |
commit | ee26a2842ca891d3ae8b1de1b066d29234fc0115 (patch) | |
tree | a0bf21050569e8d369fc1410860e57158fac761b /include/uapi/linux | |
parent | 46b43d2b2485233397f4f62b9bac6d35434b7aea (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/uapi/linux')
-rw-r--r-- | include/uapi/linux/nvgpu.h | 10 |
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 | ||
2179 | struct 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 | ||