1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef __LINUX_PUBLIC_GNTDEV_H__ 8*8d67ca89SAndroid Build Coastguard Worker #define __LINUX_PUBLIC_GNTDEV_H__ 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_grant_ref { 11*8d67ca89SAndroid Build Coastguard Worker __u32 domid; 12*8d67ca89SAndroid Build Coastguard Worker __u32 ref; 13*8d67ca89SAndroid Build Coastguard Worker }; 14*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_MAP_GRANT_REF _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref)) 15*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_map_grant_ref { 16*8d67ca89SAndroid Build Coastguard Worker __u32 count; 17*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 18*8d67ca89SAndroid Build Coastguard Worker __u64 index; 19*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_grant_ref refs[1]; 20*8d67ca89SAndroid Build Coastguard Worker }; 21*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_UNMAP_GRANT_REF _IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref)) 22*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_unmap_grant_ref { 23*8d67ca89SAndroid Build Coastguard Worker __u64 index; 24*8d67ca89SAndroid Build Coastguard Worker __u32 count; 25*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 26*8d67ca89SAndroid Build Coastguard Worker }; 27*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR _IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr)) 28*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_get_offset_for_vaddr { 29*8d67ca89SAndroid Build Coastguard Worker __u64 vaddr; 30*8d67ca89SAndroid Build Coastguard Worker __u64 offset; 31*8d67ca89SAndroid Build Coastguard Worker __u32 count; 32*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 33*8d67ca89SAndroid Build Coastguard Worker }; 34*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_SET_MAX_GRANTS _IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants)) 35*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_set_max_grants { 36*8d67ca89SAndroid Build Coastguard Worker __u32 count; 37*8d67ca89SAndroid Build Coastguard Worker }; 38*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_SET_UNMAP_NOTIFY _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify)) 39*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_unmap_notify { 40*8d67ca89SAndroid Build Coastguard Worker __u64 index; 41*8d67ca89SAndroid Build Coastguard Worker __u32 action; 42*8d67ca89SAndroid Build Coastguard Worker __u32 event_channel_port; 43*8d67ca89SAndroid Build Coastguard Worker }; 44*8d67ca89SAndroid Build Coastguard Worker struct gntdev_grant_copy_segment { 45*8d67ca89SAndroid Build Coastguard Worker union { 46*8d67ca89SAndroid Build Coastguard Worker void * virt; 47*8d67ca89SAndroid Build Coastguard Worker struct { 48*8d67ca89SAndroid Build Coastguard Worker grant_ref_t ref; 49*8d67ca89SAndroid Build Coastguard Worker __u16 offset; 50*8d67ca89SAndroid Build Coastguard Worker domid_t domid; 51*8d67ca89SAndroid Build Coastguard Worker } foreign; 52*8d67ca89SAndroid Build Coastguard Worker } source, dest; 53*8d67ca89SAndroid Build Coastguard Worker __u16 len; 54*8d67ca89SAndroid Build Coastguard Worker __u16 flags; 55*8d67ca89SAndroid Build Coastguard Worker __s16 status; 56*8d67ca89SAndroid Build Coastguard Worker }; 57*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_GRANT_COPY _IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy)) 58*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_grant_copy { 59*8d67ca89SAndroid Build Coastguard Worker unsigned int count; 60*8d67ca89SAndroid Build Coastguard Worker struct gntdev_grant_copy_segment * segments; 61*8d67ca89SAndroid Build Coastguard Worker }; 62*8d67ca89SAndroid Build Coastguard Worker #define UNMAP_NOTIFY_CLEAR_BYTE 0x1 63*8d67ca89SAndroid Build Coastguard Worker #define UNMAP_NOTIFY_SEND_EVENT 0x2 64*8d67ca89SAndroid Build Coastguard Worker #define GNTDEV_DMA_FLAG_WC (1 << 0) 65*8d67ca89SAndroid Build Coastguard Worker #define GNTDEV_DMA_FLAG_COHERENT (1 << 1) 66*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_EXP_FROM_REFS _IOC(_IOC_NONE, 'G', 9, sizeof(struct ioctl_gntdev_dmabuf_exp_from_refs)) 67*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_exp_from_refs { 68*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 69*8d67ca89SAndroid Build Coastguard Worker __u32 count; 70*8d67ca89SAndroid Build Coastguard Worker __u32 fd; 71*8d67ca89SAndroid Build Coastguard Worker __u32 domid; 72*8d67ca89SAndroid Build Coastguard Worker __u32 refs[1]; 73*8d67ca89SAndroid Build Coastguard Worker }; 74*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_EXP_WAIT_RELEASED _IOC(_IOC_NONE, 'G', 10, sizeof(struct ioctl_gntdev_dmabuf_exp_wait_released)) 75*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_exp_wait_released { 76*8d67ca89SAndroid Build Coastguard Worker __u32 fd; 77*8d67ca89SAndroid Build Coastguard Worker __u32 wait_to_ms; 78*8d67ca89SAndroid Build Coastguard Worker }; 79*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_IMP_TO_REFS _IOC(_IOC_NONE, 'G', 11, sizeof(struct ioctl_gntdev_dmabuf_imp_to_refs)) 80*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_imp_to_refs { 81*8d67ca89SAndroid Build Coastguard Worker __u32 fd; 82*8d67ca89SAndroid Build Coastguard Worker __u32 count; 83*8d67ca89SAndroid Build Coastguard Worker __u32 domid; 84*8d67ca89SAndroid Build Coastguard Worker __u32 reserved; 85*8d67ca89SAndroid Build Coastguard Worker __u32 refs[1]; 86*8d67ca89SAndroid Build Coastguard Worker }; 87*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_IMP_RELEASE _IOC(_IOC_NONE, 'G', 12, sizeof(struct ioctl_gntdev_dmabuf_imp_release)) 88*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_imp_release { 89*8d67ca89SAndroid Build Coastguard Worker __u32 fd; 90*8d67ca89SAndroid Build Coastguard Worker __u32 reserved; 91*8d67ca89SAndroid Build Coastguard Worker }; 92*8d67ca89SAndroid Build Coastguard Worker #endif 93