1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef __QEDR_USER_H__ 8*8d67ca89SAndroid Build Coastguard Worker #define __QEDR_USER_H__ 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #define QEDR_ABI_VERSION (8) 11*8d67ca89SAndroid Build Coastguard Worker enum qedr_alloc_ucontext_flags { 12*8d67ca89SAndroid Build Coastguard Worker QEDR_ALLOC_UCTX_EDPM_MODE = 1 << 0, 13*8d67ca89SAndroid Build Coastguard Worker QEDR_ALLOC_UCTX_DB_REC = 1 << 1, 14*8d67ca89SAndroid Build Coastguard Worker QEDR_SUPPORT_DPM_SIZES = 1 << 2, 15*8d67ca89SAndroid Build Coastguard Worker }; 16*8d67ca89SAndroid Build Coastguard Worker struct qedr_alloc_ucontext_req { 17*8d67ca89SAndroid Build Coastguard Worker __u32 context_flags; 18*8d67ca89SAndroid Build Coastguard Worker __u32 reserved; 19*8d67ca89SAndroid Build Coastguard Worker }; 20*8d67ca89SAndroid Build Coastguard Worker #define QEDR_LDPM_MAX_SIZE (8192) 21*8d67ca89SAndroid Build Coastguard Worker #define QEDR_EDPM_TRANS_SIZE (64) 22*8d67ca89SAndroid Build Coastguard Worker #define QEDR_EDPM_MAX_SIZE (ROCE_REQ_MAX_INLINE_DATA_SIZE) 23*8d67ca89SAndroid Build Coastguard Worker enum qedr_rdma_dpm_type { 24*8d67ca89SAndroid Build Coastguard Worker QEDR_DPM_TYPE_NONE = 0, 25*8d67ca89SAndroid Build Coastguard Worker QEDR_DPM_TYPE_ROCE_ENHANCED = 1 << 0, 26*8d67ca89SAndroid Build Coastguard Worker QEDR_DPM_TYPE_ROCE_LEGACY = 1 << 1, 27*8d67ca89SAndroid Build Coastguard Worker QEDR_DPM_TYPE_IWARP_LEGACY = 1 << 2, 28*8d67ca89SAndroid Build Coastguard Worker QEDR_DPM_TYPE_ROCE_EDPM_MODE = 1 << 3, 29*8d67ca89SAndroid Build Coastguard Worker QEDR_DPM_SIZES_SET = 1 << 4, 30*8d67ca89SAndroid Build Coastguard Worker }; 31*8d67ca89SAndroid Build Coastguard Worker struct qedr_alloc_ucontext_resp { 32*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 db_pa; 33*8d67ca89SAndroid Build Coastguard Worker __u32 db_size; 34*8d67ca89SAndroid Build Coastguard Worker __u32 max_send_wr; 35*8d67ca89SAndroid Build Coastguard Worker __u32 max_recv_wr; 36*8d67ca89SAndroid Build Coastguard Worker __u32 max_srq_wr; 37*8d67ca89SAndroid Build Coastguard Worker __u32 sges_per_send_wr; 38*8d67ca89SAndroid Build Coastguard Worker __u32 sges_per_recv_wr; 39*8d67ca89SAndroid Build Coastguard Worker __u32 sges_per_srq_wr; 40*8d67ca89SAndroid Build Coastguard Worker __u32 max_cqes; 41*8d67ca89SAndroid Build Coastguard Worker __u8 dpm_flags; 42*8d67ca89SAndroid Build Coastguard Worker __u8 wids_enabled; 43*8d67ca89SAndroid Build Coastguard Worker __u16 wid_count; 44*8d67ca89SAndroid Build Coastguard Worker __u16 ldpm_limit_size; 45*8d67ca89SAndroid Build Coastguard Worker __u8 edpm_trans_size; 46*8d67ca89SAndroid Build Coastguard Worker __u8 reserved; 47*8d67ca89SAndroid Build Coastguard Worker __u16 edpm_limit_size; 48*8d67ca89SAndroid Build Coastguard Worker __u8 padding[6]; 49*8d67ca89SAndroid Build Coastguard Worker }; 50*8d67ca89SAndroid Build Coastguard Worker struct qedr_alloc_pd_ureq { 51*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 rsvd1; 52*8d67ca89SAndroid Build Coastguard Worker }; 53*8d67ca89SAndroid Build Coastguard Worker struct qedr_alloc_pd_uresp { 54*8d67ca89SAndroid Build Coastguard Worker __u32 pd_id; 55*8d67ca89SAndroid Build Coastguard Worker __u32 reserved; 56*8d67ca89SAndroid Build Coastguard Worker }; 57*8d67ca89SAndroid Build Coastguard Worker struct qedr_create_cq_ureq { 58*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 addr; 59*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 len; 60*8d67ca89SAndroid Build Coastguard Worker }; 61*8d67ca89SAndroid Build Coastguard Worker struct qedr_create_cq_uresp { 62*8d67ca89SAndroid Build Coastguard Worker __u32 db_offset; 63*8d67ca89SAndroid Build Coastguard Worker __u16 icid; 64*8d67ca89SAndroid Build Coastguard Worker __u16 reserved; 65*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 db_rec_addr; 66*8d67ca89SAndroid Build Coastguard Worker }; 67*8d67ca89SAndroid Build Coastguard Worker struct qedr_create_qp_ureq { 68*8d67ca89SAndroid Build Coastguard Worker __u32 qp_handle_hi; 69*8d67ca89SAndroid Build Coastguard Worker __u32 qp_handle_lo; 70*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 sq_addr; 71*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 sq_len; 72*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 rq_addr; 73*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 rq_len; 74*8d67ca89SAndroid Build Coastguard Worker }; 75*8d67ca89SAndroid Build Coastguard Worker struct qedr_create_qp_uresp { 76*8d67ca89SAndroid Build Coastguard Worker __u32 qp_id; 77*8d67ca89SAndroid Build Coastguard Worker __u32 atomic_supported; 78*8d67ca89SAndroid Build Coastguard Worker __u32 sq_db_offset; 79*8d67ca89SAndroid Build Coastguard Worker __u16 sq_icid; 80*8d67ca89SAndroid Build Coastguard Worker __u32 rq_db_offset; 81*8d67ca89SAndroid Build Coastguard Worker __u16 rq_icid; 82*8d67ca89SAndroid Build Coastguard Worker __u32 rq_db2_offset; 83*8d67ca89SAndroid Build Coastguard Worker __u32 reserved; 84*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 sq_db_rec_addr; 85*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 rq_db_rec_addr; 86*8d67ca89SAndroid Build Coastguard Worker }; 87*8d67ca89SAndroid Build Coastguard Worker struct qedr_create_srq_ureq { 88*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 prod_pair_addr; 89*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 srq_addr; 90*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 srq_len; 91*8d67ca89SAndroid Build Coastguard Worker }; 92*8d67ca89SAndroid Build Coastguard Worker struct qedr_create_srq_uresp { 93*8d67ca89SAndroid Build Coastguard Worker __u16 srq_id; 94*8d67ca89SAndroid Build Coastguard Worker __u16 reserved0; 95*8d67ca89SAndroid Build Coastguard Worker __u32 reserved1; 96*8d67ca89SAndroid Build Coastguard Worker }; 97*8d67ca89SAndroid Build Coastguard Worker struct qedr_user_db_rec { 98*8d67ca89SAndroid Build Coastguard Worker __aligned_u64 db_data; 99*8d67ca89SAndroid Build Coastguard Worker }; 100*8d67ca89SAndroid Build Coastguard Worker #endif 101