aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/scif_ioctl.h
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2015-11-23 03:04:05 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-11-23 03:04:05 -0500
commit92907cbbef8625bb3998d1eb385fc88f23c97a3f (patch)
tree15626ff9287e37c3cb81c7286d6db5a7fd77c854 /include/uapi/linux/scif_ioctl.h
parent15fbfccfe92c62ae8d1ecc647c44157ed01ac02e (diff)
parent1ec218373b8ebda821aec00bb156a9c94fad9cd4 (diff)
Merge tag 'v4.4-rc2' into drm-intel-next-queued
Linux 4.4-rc2 Backmerge to get at commit 1b0e3a049efe471c399674fd954500ce97438d30 Author: Imre Deak <imre.deak@intel.com> Date: Thu Nov 5 23:04:11 2015 +0200 drm/i915/skl: disable display side power well support for now so that we can proplery re-eanble skl power wells in -next. Conflicts are just adjacent lines changed, except for intel_fbdev.c where we need to interleave the changs. Nothing nefarious. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'include/uapi/linux/scif_ioctl.h')
-rw-r--r--include/uapi/linux/scif_ioctl.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/include/uapi/linux/scif_ioctl.h b/include/uapi/linux/scif_ioctl.h
index 4a94d917cf99..d9048918be52 100644
--- a/include/uapi/linux/scif_ioctl.h
+++ b/include/uapi/linux/scif_ioctl.h
@@ -107,6 +107,82 @@ struct scifioctl_msg {
107}; 107};
108 108
109/** 109/**
110 * struct scifioctl_reg - used for SCIF_REG IOCTL
111 * @addr: starting virtual address
112 * @len: length of range
113 * @offset: offset of window
114 * @prot: read/write protection
115 * @flags: flags
116 * @out_offset: offset returned
117 */
118struct scifioctl_reg {
119 __u64 addr;
120 __u64 len;
121 __s64 offset;
122 __s32 prot;
123 __s32 flags;
124 __s64 out_offset;
125};
126
127/**
128 * struct scifioctl_unreg - used for SCIF_UNREG IOCTL
129 * @offset: start of range to unregister
130 * @len: length of range to unregister
131 */
132struct scifioctl_unreg {
133 __s64 offset;
134 __u64 len;
135};
136
137/**
138 * struct scifioctl_copy - used for SCIF DMA copy IOCTLs
139 *
140 * @loffset: offset in local registered address space to/from
141 * which to copy
142 * @len: length of range to copy
143 * @roffset: offset in remote registered address space to/from
144 * which to copy
145 * @addr: user virtual address to/from which to copy
146 * @flags: flags
147 *
148 * This structure is used for SCIF_READFROM, SCIF_WRITETO, SCIF_VREADFROM
149 * and SCIF_VREADFROM IOCTL's.
150 */
151struct scifioctl_copy {
152 __s64 loffset;
153 __u64 len;
154 __s64 roffset;
155 __u64 addr;
156 __s32 flags;
157};
158
159/**
160 * struct scifioctl_fence_mark - used for SCIF_FENCE_MARK IOCTL
161 * @flags: flags
162 * @mark: fence handle which is a pointer to a __s32
163 */
164struct scifioctl_fence_mark {
165 __s32 flags;
166 __u64 mark;
167};
168
169/**
170 * struct scifioctl_fence_signal - used for SCIF_FENCE_SIGNAL IOCTL
171 * @loff: local offset
172 * @lval: value to write to loffset
173 * @roff: remote offset
174 * @rval: value to write to roffset
175 * @flags: flags
176 */
177struct scifioctl_fence_signal {
178 __s64 loff;
179 __u64 lval;
180 __s64 roff;
181 __u64 rval;
182 __s32 flags;
183};
184
185/**
110 * struct scifioctl_node_ids - used for SCIF_GET_NODEIDS IOCTL 186 * struct scifioctl_node_ids - used for SCIF_GET_NODEIDS IOCTL
111 * @nodes: pointer to an array of node_ids 187 * @nodes: pointer to an array of node_ids
112 * @self: ID of the current node 188 * @self: ID of the current node
@@ -125,6 +201,15 @@ struct scifioctl_node_ids {
125#define SCIF_ACCEPTREG _IOWR('s', 5, __u64) 201#define SCIF_ACCEPTREG _IOWR('s', 5, __u64)
126#define SCIF_SEND _IOWR('s', 6, struct scifioctl_msg) 202#define SCIF_SEND _IOWR('s', 6, struct scifioctl_msg)
127#define SCIF_RECV _IOWR('s', 7, struct scifioctl_msg) 203#define SCIF_RECV _IOWR('s', 7, struct scifioctl_msg)
204#define SCIF_REG _IOWR('s', 8, struct scifioctl_reg)
205#define SCIF_UNREG _IOWR('s', 9, struct scifioctl_unreg)
206#define SCIF_READFROM _IOWR('s', 10, struct scifioctl_copy)
207#define SCIF_WRITETO _IOWR('s', 11, struct scifioctl_copy)
208#define SCIF_VREADFROM _IOWR('s', 12, struct scifioctl_copy)
209#define SCIF_VWRITETO _IOWR('s', 13, struct scifioctl_copy)
128#define SCIF_GET_NODEIDS _IOWR('s', 14, struct scifioctl_node_ids) 210#define SCIF_GET_NODEIDS _IOWR('s', 14, struct scifioctl_node_ids)
211#define SCIF_FENCE_MARK _IOWR('s', 15, struct scifioctl_fence_mark)
212#define SCIF_FENCE_WAIT _IOWR('s', 16, __s32)
213#define SCIF_FENCE_SIGNAL _IOWR('s', 17, struct scifioctl_fence_signal)
129 214
130#endif /* SCIF_IOCTL_H */ 215#endif /* SCIF_IOCTL_H */