From f750ba024ed165761e0516d332301d7906c1902b Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Sun, 6 Aug 2017 23:39:20 +0000 Subject: [PATCH] Revert "Revert "Move back to the previous version of ion.h."" This reverts commit 89d6c321f8380a461741b820996d92120fa99d9c. Reason for revert: Really fix all of the problems this time. Change-Id: I3e962494903660979e5803008102157cc356bc55 --- libc/kernel/uapi/linux/ion.h | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/libc/kernel/uapi/linux/ion.h b/libc/kernel/uapi/linux/ion.h index 4fa9d2dd4..7b5b031f5 100644 --- a/libc/kernel/uapi/linux/ion.h +++ b/libc/kernel/uapi/linux/ion.h @@ -20,6 +20,7 @@ #define _UAPI_LINUX_ION_H #include #include +typedef int ion_user_handle_t; enum ion_heap_type { ION_HEAP_TYPE_SYSTEM, ION_HEAP_TYPE_SYSTEM_CONTIG, @@ -32,11 +33,22 @@ enum ion_heap_type { #define ION_FLAG_CACHED 1 #define ION_FLAG_CACHED_NEEDS_SYNC 2 struct ion_allocation_data { - __u64 len; - __u32 heap_id_mask; - __u32 flags; - __u32 fd; - __u32 unused; + size_t len; + size_t align; + unsigned int heap_id_mask; + unsigned int flags; + ion_user_handle_t handle; +}; +struct ion_fd_data { + ion_user_handle_t handle; + int fd; +}; +struct ion_handle_data { + ion_user_handle_t handle; +}; +struct ion_custom_data { + unsigned int cmd; + unsigned long arg; }; #define MAX_HEAP_NAME 32 struct ion_heap_data { @@ -56,5 +68,11 @@ struct ion_heap_query { }; #define ION_IOC_MAGIC 'I' #define ION_IOC_ALLOC _IOWR(ION_IOC_MAGIC, 0, struct ion_allocation_data) +#define ION_IOC_FREE _IOWR(ION_IOC_MAGIC, 1, struct ion_handle_data) +#define ION_IOC_MAP _IOWR(ION_IOC_MAGIC, 2, struct ion_fd_data) +#define ION_IOC_SHARE _IOWR(ION_IOC_MAGIC, 4, struct ion_fd_data) +#define ION_IOC_IMPORT _IOWR(ION_IOC_MAGIC, 5, struct ion_fd_data) +#define ION_IOC_SYNC _IOWR(ION_IOC_MAGIC, 7, struct ion_fd_data) +#define ION_IOC_CUSTOM _IOWR(ION_IOC_MAGIC, 6, struct ion_custom_data) #define ION_IOC_HEAP_QUERY _IOWR(ION_IOC_MAGIC, 8, struct ion_heap_query) #endif