1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef IRDMA_ABI_H 8 #define IRDMA_ABI_H 9 #include <linux/types.h> 10 #define IRDMA_ABI_VER 5 11 enum irdma_memreg_type { 12 IRDMA_MEMREG_TYPE_MEM = 0, 13 IRDMA_MEMREG_TYPE_QP = 1, 14 IRDMA_MEMREG_TYPE_CQ = 2, 15 }; 16 enum { 17 IRDMA_ALLOC_UCTX_USE_RAW_ATTR = 1 << 0, 18 IRDMA_ALLOC_UCTX_MIN_HW_WQ_SIZE = 1 << 1, 19 }; 20 struct irdma_alloc_ucontext_req { 21 __u32 rsvd32; 22 __u8 userspace_ver; 23 __u8 rsvd8[3]; 24 __aligned_u64 comp_mask; 25 }; 26 struct irdma_alloc_ucontext_resp { 27 __u32 max_pds; 28 __u32 max_qps; 29 __u32 wq_size; 30 __u8 kernel_ver; 31 __u8 rsvd[3]; 32 __aligned_u64 feature_flags; 33 __aligned_u64 db_mmap_key; 34 __u32 max_hw_wq_frags; 35 __u32 max_hw_read_sges; 36 __u32 max_hw_inline; 37 __u32 max_hw_rq_quanta; 38 __u32 max_hw_wq_quanta; 39 __u32 min_hw_cq_size; 40 __u32 max_hw_cq_size; 41 __u16 max_hw_sq_chunk; 42 __u8 hw_rev; 43 __u8 rsvd2; 44 __aligned_u64 comp_mask; 45 __u16 min_hw_wq_size; 46 __u8 rsvd3[6]; 47 }; 48 struct irdma_alloc_pd_resp { 49 __u32 pd_id; 50 __u8 rsvd[4]; 51 }; 52 struct irdma_resize_cq_req { 53 __aligned_u64 user_cq_buffer; 54 }; 55 struct irdma_create_cq_req { 56 __aligned_u64 user_cq_buf; 57 __aligned_u64 user_shadow_area; 58 }; 59 struct irdma_create_qp_req { 60 __aligned_u64 user_wqe_bufs; 61 __aligned_u64 user_compl_ctx; 62 }; 63 struct irdma_mem_reg_req { 64 __u16 reg_type; 65 __u16 cq_pages; 66 __u16 rq_pages; 67 __u16 sq_pages; 68 }; 69 struct irdma_modify_qp_req { 70 __u8 sq_flush; 71 __u8 rq_flush; 72 __u8 rsvd[6]; 73 }; 74 struct irdma_create_cq_resp { 75 __u32 cq_id; 76 __u32 cq_size; 77 }; 78 struct irdma_create_qp_resp { 79 __u32 qp_id; 80 __u32 actual_sq_size; 81 __u32 actual_rq_size; 82 __u32 irdma_drv_opt; 83 __u16 push_idx; 84 __u8 lsmm; 85 __u8 rsvd; 86 __u32 qp_caps; 87 }; 88 struct irdma_modify_qp_resp { 89 __aligned_u64 push_wqe_mmap_key; 90 __aligned_u64 push_db_mmap_key; 91 __u16 push_offset; 92 __u8 push_valid; 93 __u8 rsvd[5]; 94 }; 95 struct irdma_create_ah_resp { 96 __u32 ah_id; 97 __u8 rsvd[4]; 98 }; 99 #endif 100