19e00df71SZhangfei Gao /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 29e00df71SZhangfei Gao #ifndef _UAPI_HISI_QM_H 39e00df71SZhangfei Gao #define _UAPI_HISI_QM_H 49e00df71SZhangfei Gao 59e00df71SZhangfei Gao #include <linux/types.h> 69e00df71SZhangfei Gao 79e00df71SZhangfei Gao /** 89e00df71SZhangfei Gao * struct hisi_qp_ctx - User data for hisi qp. 99e00df71SZhangfei Gao * @id: qp_index return to user space 109e00df71SZhangfei Gao * @qc_type: Accelerator algorithm type 119e00df71SZhangfei Gao */ 129e00df71SZhangfei Gao struct hisi_qp_ctx { 139e00df71SZhangfei Gao __u16 id; 149e00df71SZhangfei Gao __u16 qc_type; 159e00df71SZhangfei Gao }; 169e00df71SZhangfei Gao 17*c832da79SWeili Qian /** 18*c832da79SWeili Qian * struct hisi_qp_info - User data for hisi qp. 19*c832da79SWeili Qian * @sqe_size: Submission queue element size 20*c832da79SWeili Qian * @sq_depth: The number of sqe 21*c832da79SWeili Qian * @cq_depth: The number of cqe 22*c832da79SWeili Qian * @reserved: Reserved data 23*c832da79SWeili Qian */ 24*c832da79SWeili Qian struct hisi_qp_info { 25*c832da79SWeili Qian __u32 sqe_size; 26*c832da79SWeili Qian __u16 sq_depth; 27*c832da79SWeili Qian __u16 cq_depth; 28*c832da79SWeili Qian __u64 reserved; 29*c832da79SWeili Qian }; 30*c832da79SWeili Qian 319e00df71SZhangfei Gao #define HISI_QM_API_VER_BASE "hisi_qm_v1" 329e00df71SZhangfei Gao #define HISI_QM_API_VER2_BASE "hisi_qm_v2" 338bbecfb4SWeili Qian #define HISI_QM_API_VER3_BASE "hisi_qm_v3" 349e00df71SZhangfei Gao 359e00df71SZhangfei Gao /* UACCE_CMD_QM_SET_QP_CTX: Set qp algorithm type */ 369e00df71SZhangfei Gao #define UACCE_CMD_QM_SET_QP_CTX _IOWR('H', 10, struct hisi_qp_ctx) 37*c832da79SWeili Qian /* UACCE_CMD_QM_SET_QP_INFO: Set qp depth and BD size */ 38*c832da79SWeili Qian #define UACCE_CMD_QM_SET_QP_INFO _IOWR('H', 11, struct hisi_qp_info) 399e00df71SZhangfei Gao #endif 40