GNU Linux-libre 6.1.90-gnu
[releases.git] / include / uapi / misc / uacce / uacce.h
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