xref: /aosp_15_r20/external/kernel-headers/original/uapi/linux/udmabuf.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*f80ad8b4SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_UDMABUF_H
3*f80ad8b4SAndroid Build Coastguard Worker #define _UAPI_LINUX_UDMABUF_H
4*f80ad8b4SAndroid Build Coastguard Worker 
5*f80ad8b4SAndroid Build Coastguard Worker #include <linux/types.h>
6*f80ad8b4SAndroid Build Coastguard Worker #include <linux/ioctl.h>
7*f80ad8b4SAndroid Build Coastguard Worker 
8*f80ad8b4SAndroid Build Coastguard Worker #define UDMABUF_FLAGS_CLOEXEC	0x01
9*f80ad8b4SAndroid Build Coastguard Worker 
10*f80ad8b4SAndroid Build Coastguard Worker struct udmabuf_create {
11*f80ad8b4SAndroid Build Coastguard Worker 	__u32 memfd;
12*f80ad8b4SAndroid Build Coastguard Worker 	__u32 flags;
13*f80ad8b4SAndroid Build Coastguard Worker 	__u64 offset;
14*f80ad8b4SAndroid Build Coastguard Worker 	__u64 size;
15*f80ad8b4SAndroid Build Coastguard Worker };
16*f80ad8b4SAndroid Build Coastguard Worker 
17*f80ad8b4SAndroid Build Coastguard Worker struct udmabuf_create_item {
18*f80ad8b4SAndroid Build Coastguard Worker 	__u32 memfd;
19*f80ad8b4SAndroid Build Coastguard Worker 	__u32 __pad;
20*f80ad8b4SAndroid Build Coastguard Worker 	__u64 offset;
21*f80ad8b4SAndroid Build Coastguard Worker 	__u64 size;
22*f80ad8b4SAndroid Build Coastguard Worker };
23*f80ad8b4SAndroid Build Coastguard Worker 
24*f80ad8b4SAndroid Build Coastguard Worker struct udmabuf_create_list {
25*f80ad8b4SAndroid Build Coastguard Worker 	__u32 flags;
26*f80ad8b4SAndroid Build Coastguard Worker 	__u32 count;
27*f80ad8b4SAndroid Build Coastguard Worker 	struct udmabuf_create_item list[];
28*f80ad8b4SAndroid Build Coastguard Worker };
29*f80ad8b4SAndroid Build Coastguard Worker 
30*f80ad8b4SAndroid Build Coastguard Worker #define UDMABUF_CREATE       _IOW('u', 0x42, struct udmabuf_create)
31*f80ad8b4SAndroid Build Coastguard Worker #define UDMABUF_CREATE_LIST  _IOW('u', 0x43, struct udmabuf_create_list)
32*f80ad8b4SAndroid Build Coastguard Worker 
33*f80ad8b4SAndroid Build Coastguard Worker #endif /* _UAPI_LINUX_UDMABUF_H */
34