xref: /aosp_15_r20/external/mesa3d/src/freedreno/vulkan/ion/ion.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /* Copied from libion:
2*61046927SAndroid Build Coastguard Worker  *  https://android.googlesource.com/platform/system/memory/libion/
3*61046927SAndroid Build Coastguard Worker  *
4*61046927SAndroid Build Coastguard Worker  * This header was automatically generated from a Linux kernel header
5*61046927SAndroid Build Coastguard Worker  * of the same name, to make information necessary for userspace to
6*61046927SAndroid Build Coastguard Worker  * call into the kernel available to libc.  It contains only constants,
7*61046927SAndroid Build Coastguard Worker  * structures, and macros generated from the original header, and thus,
8*61046927SAndroid Build Coastguard Worker  * contains no copyrightable information.
9*61046927SAndroid Build Coastguard Worker  */
10*61046927SAndroid Build Coastguard Worker 
11*61046927SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_ION_H
12*61046927SAndroid Build Coastguard Worker #define _UAPI_LINUX_ION_H
13*61046927SAndroid Build Coastguard Worker #include <linux/ioctl.h>
14*61046927SAndroid Build Coastguard Worker #include <linux/types.h>
15*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16*61046927SAndroid Build Coastguard Worker typedef int ion_user_handle_t;
17*61046927SAndroid Build Coastguard Worker enum ion_heap_type {
18*61046927SAndroid Build Coastguard Worker  ION_HEAP_TYPE_SYSTEM,
19*61046927SAndroid Build Coastguard Worker  ION_HEAP_TYPE_SYSTEM_CONTIG,
20*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
21*61046927SAndroid Build Coastguard Worker  ION_HEAP_TYPE_CARVEOUT,
22*61046927SAndroid Build Coastguard Worker  ION_HEAP_TYPE_CHUNK,
23*61046927SAndroid Build Coastguard Worker  ION_HEAP_TYPE_DMA,
24*61046927SAndroid Build Coastguard Worker  ION_HEAP_TYPE_CUSTOM,
25*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
26*61046927SAndroid Build Coastguard Worker  ION_NUM_HEAPS = 16,
27*61046927SAndroid Build Coastguard Worker };
28*61046927SAndroid Build Coastguard Worker #define ION_HEAP_SYSTEM_MASK (1 << ION_HEAP_TYPE_SYSTEM)
29*61046927SAndroid Build Coastguard Worker #define ION_HEAP_SYSTEM_CONTIG_MASK (1 << ION_HEAP_TYPE_SYSTEM_CONTIG)
30*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
31*61046927SAndroid Build Coastguard Worker #define ION_HEAP_CARVEOUT_MASK (1 << ION_HEAP_TYPE_CARVEOUT)
32*61046927SAndroid Build Coastguard Worker #define ION_HEAP_TYPE_DMA_MASK (1 << ION_HEAP_TYPE_DMA)
33*61046927SAndroid Build Coastguard Worker #define ION_NUM_HEAP_IDS (sizeof(unsigned int) * 8)
34*61046927SAndroid Build Coastguard Worker #define ION_FLAG_CACHED 1
35*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
36*61046927SAndroid Build Coastguard Worker #define ION_FLAG_CACHED_NEEDS_SYNC 2
37*61046927SAndroid Build Coastguard Worker struct ion_allocation_data {
38*61046927SAndroid Build Coastguard Worker  size_t len;
39*61046927SAndroid Build Coastguard Worker  size_t align;
40*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
41*61046927SAndroid Build Coastguard Worker  unsigned int heap_id_mask;
42*61046927SAndroid Build Coastguard Worker  unsigned int flags;
43*61046927SAndroid Build Coastguard Worker  ion_user_handle_t handle;
44*61046927SAndroid Build Coastguard Worker };
45*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
46*61046927SAndroid Build Coastguard Worker struct ion_fd_data {
47*61046927SAndroid Build Coastguard Worker  ion_user_handle_t handle;
48*61046927SAndroid Build Coastguard Worker  int fd;
49*61046927SAndroid Build Coastguard Worker };
50*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
51*61046927SAndroid Build Coastguard Worker struct ion_handle_data {
52*61046927SAndroid Build Coastguard Worker  ion_user_handle_t handle;
53*61046927SAndroid Build Coastguard Worker };
54*61046927SAndroid Build Coastguard Worker struct ion_custom_data {
55*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
56*61046927SAndroid Build Coastguard Worker  unsigned int cmd;
57*61046927SAndroid Build Coastguard Worker  unsigned long arg;
58*61046927SAndroid Build Coastguard Worker };
59*61046927SAndroid Build Coastguard Worker #define ION_IOC_MAGIC 'I'
60*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
61*61046927SAndroid Build Coastguard Worker #define ION_IOC_ALLOC _IOWR(ION_IOC_MAGIC, 0,   struct ion_allocation_data)
62*61046927SAndroid Build Coastguard Worker #define ION_IOC_FREE _IOWR(ION_IOC_MAGIC, 1, struct ion_handle_data)
63*61046927SAndroid Build Coastguard Worker #define ION_IOC_MAP _IOWR(ION_IOC_MAGIC, 2, struct ion_fd_data)
64*61046927SAndroid Build Coastguard Worker #define ION_IOC_SHARE _IOWR(ION_IOC_MAGIC, 4, struct ion_fd_data)
65*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
66*61046927SAndroid Build Coastguard Worker #define ION_IOC_IMPORT _IOWR(ION_IOC_MAGIC, 5, struct ion_fd_data)
67*61046927SAndroid Build Coastguard Worker #define ION_IOC_SYNC _IOWR(ION_IOC_MAGIC, 7, struct ion_fd_data)
68*61046927SAndroid Build Coastguard Worker #define ION_IOC_CUSTOM _IOWR(ION_IOC_MAGIC, 6, struct ion_custom_data)
69*61046927SAndroid Build Coastguard Worker #endif
70*61046927SAndroid Build Coastguard Worker /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
71