| 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 | |