uacce.h 796 B

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