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