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 */
33enum uacce_qfrt {
34	UACCE_QFRT_MMIO = 0,
35	UACCE_QFRT_DUS = 1,
36};
37
38#endif
39