~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/rdma/ocrdma-abi.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */
  2 /* This file is part of the Emulex RoCE Device Driver for
  3  * RoCE (RDMA over Converged Ethernet) adapters.
  4  * Copyright (C) 2012-2015 Emulex. All rights reserved.
  5  * EMULEX and SLI are trademarks of Emulex.
  6  * www.emulex.com
  7  *
  8  * This software is available to you under a choice of one of two licenses.
  9  * You may choose to be licensed under the terms of the GNU General Public
 10  * License (GPL) Version 2, available from the file COPYING in the main
 11  * directory of this source tree, or the BSD license below:
 12  *
 13  * Redistribution and use in source and binary forms, with or without
 14  * modification, are permitted provided that the following conditions
 15  * are met:
 16  *
 17  * - Redistributions of source code must retain the above copyright notice,
 18  *   this list of conditions and the following disclaimer.
 19  *
 20  * - Redistributions in binary form must reproduce the above copyright
 21  *   notice, this list of conditions and the following disclaimer in
 22  *   the documentation and/or other materials provided with the distribution.
 23  *
 24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 25  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,THE
 26  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 27  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 28  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 29  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 30  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 31  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 32  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 33  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 34  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 35  *
 36  * Contact Information:
 37  * linux-drivers@emulex.com
 38  *
 39  * Emulex
 40  * 3333 Susan Street
 41  * Costa Mesa, CA 92626
 42  */
 43 
 44 #ifndef OCRDMA_ABI_USER_H
 45 #define OCRDMA_ABI_USER_H
 46 
 47 #include <linux/types.h>
 48 
 49 #define OCRDMA_ABI_VERSION 2
 50 #define OCRDMA_BE_ROCE_ABI_VERSION 1
 51 /* user kernel communication data structures. */
 52 
 53 struct ocrdma_alloc_ucontext_resp {
 54         __u32 dev_id;
 55         __u32 wqe_size;
 56         __u32 max_inline_data;
 57         __u32 dpp_wqe_size;
 58         __aligned_u64 ah_tbl_page;
 59         __u32 ah_tbl_len;
 60         __u32 rqe_size;
 61         __u8 fw_ver[32];
 62         /* for future use/new features in progress */
 63         __aligned_u64 rsvd1;
 64         __aligned_u64 rsvd2;
 65 };
 66 
 67 struct ocrdma_alloc_pd_ureq {
 68         __u32 rsvd[2];
 69 };
 70 
 71 struct ocrdma_alloc_pd_uresp {
 72         __u32 id;
 73         __u32 dpp_enabled;
 74         __u32 dpp_page_addr_hi;
 75         __u32 dpp_page_addr_lo;
 76         __u32 rsvd[2];
 77 };
 78 
 79 struct ocrdma_create_cq_ureq {
 80         __u32 dpp_cq;
 81         __u32 rsvd; /* pad */
 82 };
 83 
 84 #define MAX_CQ_PAGES 8
 85 struct ocrdma_create_cq_uresp {
 86         __u32 cq_id;
 87         __u32 page_size;
 88         __u32 num_pages;
 89         __u32 max_hw_cqe;
 90         __aligned_u64 page_addr[MAX_CQ_PAGES];
 91         __aligned_u64 db_page_addr;
 92         __u32 db_page_size;
 93         __u32 phase_change;
 94         /* for future use/new features in progress */
 95         __aligned_u64 rsvd1;
 96         __aligned_u64 rsvd2;
 97 };
 98 
 99 #define MAX_QP_PAGES 8
100 #define MAX_UD_AV_PAGES 8
101 
102 struct ocrdma_create_qp_ureq {
103         __u8 enable_dpp_cq;
104         __u8 rsvd;
105         __u16 dpp_cq_id;
106         __u32 rsvd1;    /* pad */
107 };
108 
109 struct ocrdma_create_qp_uresp {
110         __u16 qp_id;
111         __u16 sq_dbid;
112         __u16 rq_dbid;
113         __u16 resv0;    /* pad */
114         __u32 sq_page_size;
115         __u32 rq_page_size;
116         __u32 num_sq_pages;
117         __u32 num_rq_pages;
118         __aligned_u64 sq_page_addr[MAX_QP_PAGES];
119         __aligned_u64 rq_page_addr[MAX_QP_PAGES];
120         __aligned_u64 db_page_addr;
121         __u32 db_page_size;
122         __u32 dpp_credit;
123         __u32 dpp_offset;
124         __u32 num_wqe_allocated;
125         __u32 num_rqe_allocated;
126         __u32 db_sq_offset;
127         __u32 db_rq_offset;
128         __u32 db_shift;
129         __aligned_u64 rsvd[11];
130 };
131 
132 struct ocrdma_create_srq_uresp {
133         __u16 rq_dbid;
134         __u16 resv0;    /* pad */
135         __u32 resv1;
136 
137         __u32 rq_page_size;
138         __u32 num_rq_pages;
139 
140         __aligned_u64 rq_page_addr[MAX_QP_PAGES];
141         __aligned_u64 db_page_addr;
142 
143         __u32 db_page_size;
144         __u32 num_rqe_allocated;
145         __u32 db_rq_offset;
146         __u32 db_shift;
147 
148         __aligned_u64 rsvd2;
149         __aligned_u64 rsvd3;
150 };
151 
152 #endif  /* OCRDMA_ABI_USER_H */
153 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php