xref: /linux-6.15/include/linux/qed/rdma_common.h (revision 06236f4e)
1 /* QLogic qed NIC Driver
2  * Copyright (c) 2015 QLogic Corporation
3  *
4  * This software is available under the terms of the GNU General Public License
5  * (GPL) Version 2, available from the file COPYING in the main directory of
6  * this source tree.
7  */
8 
9 #ifndef __RDMA_COMMON__
10 #define __RDMA_COMMON__
11 /************************/
12 /* RDMA FW CONSTANTS */
13 /************************/
14 
15 #define RDMA_RESERVED_LKEY                      (0)
16 #define RDMA_RING_PAGE_SIZE                     (0x1000)
17 
18 #define RDMA_MAX_SGE_PER_SQ_WQE         (4)
19 #define RDMA_MAX_SGE_PER_RQ_WQE         (4)
20 
21 #define RDMA_MAX_DATA_SIZE_IN_WQE       (0x7FFFFFFF)
22 
23 #define RDMA_REQ_RD_ATOMIC_ELM_SIZE             (0x50)
24 #define RDMA_RESP_RD_ATOMIC_ELM_SIZE    (0x20)
25 
26 #define RDMA_MAX_CQS                            (64 * 1024)
27 #define RDMA_MAX_TIDS                           (128 * 1024 - 1)
28 #define RDMA_MAX_PDS                            (64 * 1024)
29 
30 #define RDMA_NUM_STATISTIC_COUNTERS                     MAX_NUM_VPORTS
31 #define RDMA_NUM_STATISTIC_COUNTERS_BB			MAX_NUM_VPORTS_BB
32 
33 #define RDMA_TASK_TYPE (PROTOCOLID_ROCE)
34 
35 struct rdma_srq_id {
36 	__le16 srq_idx;
37 	__le16 opaque_fid;
38 };
39 
40 struct rdma_srq_producers {
41 	__le32 sge_prod;
42 	__le32 wqe_prod;
43 };
44 
45 #endif /* __RDMA_COMMON__ */
46