blob: f778ef2c1771734c9135e0ed8595eaf0b60a2373 [file] [log] [blame]
Christopher Ferris48af7cb2017-02-21 12:35:09 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef HNS_ABI_USER_H
20#define HNS_ABI_USER_H
21#include <linux/types.h>
22struct hns_roce_ib_create_cq {
Christopher Ferris76a1d452018-06-27 14:12:29 -070023 __aligned_u64 buf_addr;
24 __aligned_u64 db_addr;
Christopher Ferris32ff3f82020-12-14 13:10:04 -080025 __u32 cqe_size;
26 __u32 reserved;
Christopher Ferris76a1d452018-06-27 14:12:29 -070027};
Christopher Ferris05667cd2021-02-16 16:01:34 -080028enum hns_roce_cq_cap_flags {
29 HNS_ROCE_CQ_FLAG_RECORD_DB = 1 << 0,
30};
Christopher Ferris76a1d452018-06-27 14:12:29 -070031struct hns_roce_ib_create_cq_resp {
32 __aligned_u64 cqn;
33 __aligned_u64 cap_flags;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080034};
Christopher Ferrisd842e432019-03-07 10:21:59 -080035struct hns_roce_ib_create_srq {
36 __aligned_u64 buf_addr;
37 __aligned_u64 db_addr;
38 __aligned_u64 que_addr;
39};
40struct hns_roce_ib_create_srq_resp {
41 __u32 srqn;
42 __u32 reserved;
43};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080044struct hns_roce_ib_create_qp {
Christopher Ferris76a1d452018-06-27 14:12:29 -070045 __aligned_u64 buf_addr;
46 __aligned_u64 db_addr;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080047 __u8 log_sq_bb_count;
48 __u8 log_sq_stride;
49 __u8 sq_no_prefetch;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080050 __u8 reserved[5];
Christopher Ferris9ce28842018-10-25 12:11:39 -070051 __aligned_u64 sdb_addr;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080052};
Christopher Ferris05667cd2021-02-16 16:01:34 -080053enum hns_roce_qp_cap_flags {
54 HNS_ROCE_QP_CAP_RQ_RECORD_DB = 1 << 0,
55 HNS_ROCE_QP_CAP_SQ_RECORD_DB = 1 << 1,
56 HNS_ROCE_QP_CAP_OWNER_DB = 1 << 2,
Christopher Ferris1ed55342022-03-22 16:06:25 -070057 HNS_ROCE_QP_CAP_DIRECT_WQE = 1 << 5,
Christopher Ferris05667cd2021-02-16 16:01:34 -080058};
Christopher Ferris76a1d452018-06-27 14:12:29 -070059struct hns_roce_ib_create_qp_resp {
60 __aligned_u64 cap_flags;
Christopher Ferris1ed55342022-03-22 16:06:25 -070061 __aligned_u64 dwqe_mmap_key;
Christopher Ferris76a1d452018-06-27 14:12:29 -070062};
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080063enum {
64 HNS_ROCE_EXSGE_FLAGS = 1 << 0,
Christopher Ferrisb7cef6d2023-05-09 19:04:15 +000065 HNS_ROCE_RQ_INLINE_FLAGS = 1 << 1,
66 HNS_ROCE_CQE_INLINE_FLAGS = 1 << 2,
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080067};
68enum {
69 HNS_ROCE_RSP_EXSGE_FLAGS = 1 << 0,
Christopher Ferrisb7cef6d2023-05-09 19:04:15 +000070 HNS_ROCE_RSP_RQ_INLINE_FLAGS = 1 << 1,
71 HNS_ROCE_RSP_CQE_INLINE_FLAGS = 1 << 2,
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080072};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080073struct hns_roce_ib_alloc_ucontext_resp {
74 __u32 qp_tab_size;
Christopher Ferris32ff3f82020-12-14 13:10:04 -080075 __u32 cqe_size;
Christopher Ferrisfcc3b4f2021-07-01 01:30:21 +000076 __u32 srq_tab_size;
77 __u32 reserved;
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080078 __u32 config;
79 __u32 max_inline_data;
80};
81struct hns_roce_ib_alloc_ucontext {
82 __u32 config;
83 __u32 reserved;
Christopher Ferris76a1d452018-06-27 14:12:29 -070084};
85struct hns_roce_ib_alloc_pd_resp {
86 __u32 pdn;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080087};
88#endif