01a837cfae8bfcb8e1b2bbb837df533dfecfb6dd
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / arm / t6xx / kbase / mali_base_kernel_sync.h
1 /*
2  *
3  * (C) COPYRIGHT ARM Limited. All rights reserved.
4  *
5  * This program is free software and is provided to you under the terms of the
6  * GNU General Public License version 2 as published by the Free Software
7  * Foundation, and any use by you of this program is subject to the terms
8  * of such GNU licence.
9  *
10  * A copy of the licence is included with the program, and can also be obtained
11  * from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
12  * Boston, MA  02110-1301, USA.
13  *
14  */
15
16
17
18
19
20 /**
21  * @file
22  * Base cross-proccess sync API.
23  */
24
25 #ifndef _BASE_KERNEL_SYNC_H_
26 #define _BASE_KERNEL_SYNC_H_
27
28 #include <linux/ioctl.h>
29
30 #define STREAM_IOC_MAGIC '~'
31
32 /* Fence insert.
33  *
34  * Inserts a fence on the stream operated on.
35  * Fence can be waited via a base fence wait soft-job
36  * or triggered via a base fence trigger soft-job.
37  *
38  * Fences must be cleaned up with close when no longer needed.
39  *
40  * No input/output arguments.
41  * Returns
42  * >=0 fd
43  * <0  error code
44  */
45 #define STREAM_IOC_FENCE_INSERT _IO(STREAM_IOC_MAGIC, 0)
46
47 #endif                          /* _BASE_KERNEL_SYNC_H_ */