1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ |
2 | #ifndef _UAPI_HISI_QM_H |
3 | #define _UAPI_HISI_QM_H |
4 | |
5 | #include <linux/types.h> |
6 | |
7 | /** |
8 | * struct hisi_qp_ctx - User data for hisi qp. |
9 | * @id: qp_index return to user space |
10 | * @qc_type: Accelerator algorithm type |
11 | */ |
12 | struct hisi_qp_ctx { |
13 | __u16 id; |
14 | __u16 qc_type; |
15 | }; |
16 | |
17 | /** |
18 | * struct hisi_qp_info - User data for hisi qp. |
19 | * @sqe_size: Submission queue element size |
20 | * @sq_depth: The number of sqe |
21 | * @cq_depth: The number of cqe |
22 | * @reserved: Reserved data |
23 | */ |
24 | struct hisi_qp_info { |
25 | __u32 sqe_size; |
26 | __u16 sq_depth; |
27 | __u16 cq_depth; |
28 | __u64 reserved; |
29 | }; |
30 | |
31 | #define HISI_QM_API_VER_BASE "hisi_qm_v1" |
32 | #define HISI_QM_API_VER2_BASE "hisi_qm_v2" |
33 | #define HISI_QM_API_VER3_BASE "hisi_qm_v3" |
34 | |
35 | /* UACCE_CMD_QM_SET_QP_CTX: Set qp algorithm type */ |
36 | #define UACCE_CMD_QM_SET_QP_CTX _IOWR('H', 10, struct hisi_qp_ctx) |
37 | /* UACCE_CMD_QM_SET_QP_INFO: Set qp depth and BD size */ |
38 | #define UACCE_CMD_QM_SET_QP_INFO _IOWR('H', 11, struct hisi_qp_info) |
39 | #endif |
40 | |