aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/fpga-dfl.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/uapi/linux/fpga-dfl.h b/include/uapi/linux/fpga-dfl.h
index a3ccdfb115a5..2e324e515c41 100644
--- a/include/uapi/linux/fpga-dfl.h
+++ b/include/uapi/linux/fpga-dfl.h
@@ -114,6 +114,43 @@ struct dfl_fpga_port_region_info {
114 114
115#define DFL_FPGA_PORT_GET_REGION_INFO _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 2) 115#define DFL_FPGA_PORT_GET_REGION_INFO _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 2)
116 116
117/**
118 * DFL_FPGA_PORT_DMA_MAP - _IOWR(DFL_FPGA_MAGIC, DFL_PORT_BASE + 3,
119 * struct dfl_fpga_port_dma_map)
120 *
121 * Map the dma memory per user_addr and length which are provided by caller.
122 * Driver fills the iova in provided struct afu_port_dma_map.
123 * This interface only accepts page-size aligned user memory for dma mapping.
124 * Return: 0 on success, -errno on failure.
125 */
126struct dfl_fpga_port_dma_map {
127 /* Input */
128 __u32 argsz; /* Structure length */
129 __u32 flags; /* Zero for now */
130 __u64 user_addr; /* Process virtual address */
131 __u64 length; /* Length of mapping (bytes)*/
132 /* Output */
133 __u64 iova; /* IO virtual address */
134};
135
136#define DFL_FPGA_PORT_DMA_MAP _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 3)
137
138/**
139 * DFL_FPGA_PORT_DMA_UNMAP - _IOW(FPGA_MAGIC, PORT_BASE + 4,
140 * struct dfl_fpga_port_dma_unmap)
141 *
142 * Unmap the dma memory per iova provided by caller.
143 * Return: 0 on success, -errno on failure.
144 */
145struct dfl_fpga_port_dma_unmap {
146 /* Input */
147 __u32 argsz; /* Structure length */
148 __u32 flags; /* Zero for now */
149 __u64 iova; /* IO virtual address */
150};
151
152#define DFL_FPGA_PORT_DMA_UNMAP _IO(DFL_FPGA_MAGIC, DFL_PORT_BASE + 4)
153
117/* IOCTLs for FME file descriptor */ 154/* IOCTLs for FME file descriptor */
118 155
119/** 156/**