summaryrefslogtreecommitdiffstats
path: root/libsync/sync.c
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2017-02-12 16:42:11 -0800
committerJesse Hall <jessehall@google.com>2017-02-23 18:44:50 -0800
commitb7fdb2a1284143b8cee11483646b8753262ad165 (patch)
treee6ae6d912d3a674900bdf789fb79581c1729b652 /libsync/sync.c
parent836661616fcf4bc023b192d1c320f0727a9dfef9 (diff)
downloadsystem_core-b7fdb2a1284143b8cee11483646b8753262ad165.tar.gz
system_core-b7fdb2a1284143b8cee11483646b8753262ad165.tar.bz2
system_core-b7fdb2a1284143b8cee11483646b8753262ad165.zip
sync: move declarations from sync/sync.h to sync.c
None of these should be needed or used outside of sync.c. Test: lunch bullhead-eng ; m Change-Id: I548a499d0e2ada2ab4987e63a8116327c3be0076
Diffstat (limited to 'libsync/sync.c')
-rw-r--r--libsync/sync.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/libsync/sync.c b/libsync/sync.c
index f3e26e111..e68cc899d 100644
--- a/libsync/sync.c
+++ b/libsync/sync.c
@@ -29,6 +29,45 @@
#include <sync/sync.h>
+/* Legacy Sync API */
+
+struct sync_legacy_merge_data {
+ int32_t fd2;
+ char name[32];
+ int32_t fence;
+};
+
+/**
+ * DOC: SYNC_IOC_MERGE - merge two fences
+ *
+ * Takes a struct sync_merge_data. Creates a new fence containing copies of
+ * the sync_pts in both the calling fd and sync_merge_data.fd2. Returns the
+ * new fence's fd in sync_merge_data.fence
+ *
+ * This is the legacy version of the Sync API before the de-stage that happened
+ * on Linux kernel 4.7.
+ */
+#define SYNC_IOC_LEGACY_MERGE _IOWR(SYNC_IOC_MAGIC, 1, \
+ struct sync_legacy_merge_data)
+
+/**
+ * DOC: SYNC_IOC_LEGACY_FENCE_INFO - get detailed information on a fence
+ *
+ * Takes a struct sync_fence_info_data with extra space allocated for pt_info.
+ * Caller should write the size of the buffer into len. On return, len is
+ * updated to reflect the total size of the sync_fence_info_data including
+ * pt_info.
+ *
+ * pt_info is a buffer containing sync_pt_infos for every sync_pt in the fence.
+ * To iterate over the sync_pt_infos, use the sync_pt_info.len field.
+ *
+ * This is the legacy version of the Sync API before the de-stage that happened
+ * on Linux kernel 4.7.
+ */
+#define SYNC_IOC_LEGACY_FENCE_INFO _IOWR(SYNC_IOC_MAGIC, 2,\
+ struct sync_fence_info_data)
+
+/* SW Sync API */
struct sw_sync_create_fence_data {
__u32 value;