xref: /linux/include/uapi/misc/uacce/uacce.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 #ifndef _UAPIUUACCE_H
3 #define _UAPIUUACCE_H
4 
5 #include <linux/types.h>
6 #include <linux/ioctl.h>
7 
8 /*
9  * UACCE_CMD_START_Q: Start queue
10  */
11 #define UACCE_CMD_START_Q	_IO('W', 0)
12 
13 /*
14  * UACCE_CMD_PUT_Q:
15  * User actively stop queue and free queue resource immediately
16  * Optimization method since close fd may delay
17  */
18 #define UACCE_CMD_PUT_Q		_IO('W', 1)
19 
20 /*
21  * UACCE Device flags:
22  * UACCE_DEV_SVA: Shared Virtual Addresses
23  *		  Support PASID
24  *		  Support device page faults (PCI PRI or SMMU Stall)
25  */
26 #define UACCE_DEV_SVA		BIT(0)
27 
28 /**
29  * enum uacce_qfrt: queue file region type
30  * @UACCE_QFRT_MMIO: device mmio region
31  * @UACCE_QFRT_DUS: device user share region
32  */
33 enum uacce_qfrt {
34 	UACCE_QFRT_MMIO = 0,
35 	UACCE_QFRT_DUS = 1,
36 };
37 
38 #endif
39