Home | History | Annotate | Download | only in rdma
      1 /****************************************************************************
      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 OCRDMA_ABI_USER_H
     20 #define OCRDMA_ABI_USER_H
     21 #include <linux/types.h>
     22 #define OCRDMA_ABI_VERSION 2
     23 #define OCRDMA_BE_ROCE_ABI_VERSION 1
     24 struct ocrdma_alloc_ucontext_resp {
     25   __u32 dev_id;
     26   __u32 wqe_size;
     27   __u32 max_inline_data;
     28   __u32 dpp_wqe_size;
     29   __u64 ah_tbl_page;
     30   __u32 ah_tbl_len;
     31   __u32 rqe_size;
     32   __u8 fw_ver[32];
     33   __u64 rsvd1;
     34   __u64 rsvd2;
     35 };
     36 struct ocrdma_alloc_pd_ureq {
     37   __u64 rsvd1;
     38 };
     39 struct ocrdma_alloc_pd_uresp {
     40   __u32 id;
     41   __u32 dpp_enabled;
     42   __u32 dpp_page_addr_hi;
     43   __u32 dpp_page_addr_lo;
     44   __u64 rsvd1;
     45 };
     46 struct ocrdma_create_cq_ureq {
     47   __u32 dpp_cq;
     48   __u32 rsvd;
     49 };
     50 #define MAX_CQ_PAGES 8
     51 struct ocrdma_create_cq_uresp {
     52   __u32 cq_id;
     53   __u32 page_size;
     54   __u32 num_pages;
     55   __u32 max_hw_cqe;
     56   __u64 page_addr[MAX_CQ_PAGES];
     57   __u64 db_page_addr;
     58   __u32 db_page_size;
     59   __u32 phase_change;
     60   __u64 rsvd1;
     61   __u64 rsvd2;
     62 };
     63 #define MAX_QP_PAGES 8
     64 #define MAX_UD_AV_PAGES 8
     65 struct ocrdma_create_qp_ureq {
     66   __u8 enable_dpp_cq;
     67   __u8 rsvd;
     68   __u16 dpp_cq_id;
     69   __u32 rsvd1;
     70 };
     71 struct ocrdma_create_qp_uresp {
     72   __u16 qp_id;
     73   __u16 sq_dbid;
     74   __u16 rq_dbid;
     75   __u16 resv0;
     76   __u32 sq_page_size;
     77   __u32 rq_page_size;
     78   __u32 num_sq_pages;
     79   __u32 num_rq_pages;
     80   __u64 sq_page_addr[MAX_QP_PAGES];
     81   __u64 rq_page_addr[MAX_QP_PAGES];
     82   __u64 db_page_addr;
     83   __u32 db_page_size;
     84   __u32 dpp_credit;
     85   __u32 dpp_offset;
     86   __u32 num_wqe_allocated;
     87   __u32 num_rqe_allocated;
     88   __u32 db_sq_offset;
     89   __u32 db_rq_offset;
     90   __u32 db_shift;
     91   __u64 rsvd[11];
     92 } __packed;
     93 struct ocrdma_create_srq_uresp {
     94   __u16 rq_dbid;
     95   __u16 resv0;
     96   __u32 resv1;
     97   __u32 rq_page_size;
     98   __u32 num_rq_pages;
     99   __u64 rq_page_addr[MAX_QP_PAGES];
    100   __u64 db_page_addr;
    101   __u32 db_page_size;
    102   __u32 num_rqe_allocated;
    103   __u32 db_rq_offset;
    104   __u32 db_shift;
    105   __u64 rsvd2;
    106   __u64 rsvd3;
    107 };
    108 #endif
    109