16a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/****************************************************************************
26a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ****************************************************************************
36a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***
46a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   This header was automatically generated from a Linux kernel header
56a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   of the same name, to make information necessary for userspace to
66a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   call into the kernel available to libc.  It contains only constants,
76a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   structures, and macros generated from the original header, and thus,
86a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   contains no copyrightable information.
96a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***
106a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   To edit the content of this header, modify the corresponding
116a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   source file (e.g. under external/kernel-headers/original/) then
126a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   run bionic/libc/kernel/tools/update_all.py
136a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***
146a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   Any manual change here will be lost the next time this script will
156a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***   be run. You've been warned!
166a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ***
176a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ****************************************************************************
186a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris ****************************************************************************/
196a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#ifndef OCRDMA_ABI_USER_H
206a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define OCRDMA_ABI_USER_H
216a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#include <linux/types.h>
226a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define OCRDMA_ABI_VERSION 2
236a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define OCRDMA_BE_ROCE_ABI_VERSION 1
246a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ocrdma_alloc_ucontext_resp {
256a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 dev_id;
266a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 wqe_size;
276a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 max_inline_data;
286a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 dpp_wqe_size;
296a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 ah_tbl_page;
306a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 ah_tbl_len;
316a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 rqe_size;
326a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u8 fw_ver[32];
336a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd1;
346a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd2;
356a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
366a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ocrdma_alloc_pd_ureq {
376a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd1;
386a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
396a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ocrdma_alloc_pd_uresp {
406a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 id;
416a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 dpp_enabled;
426a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 dpp_page_addr_hi;
436a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 dpp_page_addr_lo;
446a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd1;
456a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
466a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ocrdma_create_cq_ureq {
476a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 dpp_cq;
486a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 rsvd;
496a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
506a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define MAX_CQ_PAGES 8
516a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ocrdma_create_cq_uresp {
526a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 cq_id;
536a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 page_size;
546a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 num_pages;
556a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 max_hw_cqe;
566a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 page_addr[MAX_CQ_PAGES];
576a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 db_page_addr;
586a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 db_page_size;
596a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 phase_change;
606a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd1;
616a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd2;
626a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
636a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define MAX_QP_PAGES 8
646a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define MAX_UD_AV_PAGES 8
656a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ocrdma_create_qp_ureq {
666a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u8 enable_dpp_cq;
676a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u8 rsvd;
686a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u16 dpp_cq_id;
696a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 rsvd1;
706a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
716a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ocrdma_create_qp_uresp {
726a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u16 qp_id;
736a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u16 sq_dbid;
746a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u16 rq_dbid;
756a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u16 resv0;
766a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 sq_page_size;
776a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 rq_page_size;
786a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 num_sq_pages;
796a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 num_rq_pages;
806a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 sq_page_addr[MAX_QP_PAGES];
816a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rq_page_addr[MAX_QP_PAGES];
826a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 db_page_addr;
836a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 db_page_size;
846a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 dpp_credit;
856a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 dpp_offset;
866a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 num_wqe_allocated;
876a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 num_rqe_allocated;
886a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 db_sq_offset;
896a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 db_rq_offset;
906a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 db_shift;
916a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd[11];
926a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris} __packed;
936a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct ocrdma_create_srq_uresp {
946a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u16 rq_dbid;
956a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u16 resv0;
966a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 resv1;
976a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 rq_page_size;
986a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 num_rq_pages;
996a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rq_page_addr[MAX_QP_PAGES];
1006a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 db_page_addr;
1016a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 db_page_size;
1026a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 num_rqe_allocated;
1036a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 db_rq_offset;
1046a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u32 db_shift;
1056a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd2;
1066a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris  __u64 rsvd3;
1076a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris};
1086a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#endif
109