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