Merge tag 'gvt-next-fixes-2020-08-05' of https://github.com/intel/gvt-linux into...
[linux-2.6-microblaze.git] / include / linux / qed / rdma_common.h
1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2 /* QLogic qed NIC Driver
3  * Copyright (c) 2015-2017  QLogic Corporation
4  * Copyright (c) 2019-2020 Marvell International Ltd.
5  */
6
7 #ifndef __RDMA_COMMON__
8 #define __RDMA_COMMON__
9
10 /************************/
11 /* RDMA FW CONSTANTS */
12 /************************/
13
14 #define RDMA_RESERVED_LKEY              (0)
15 #define RDMA_RING_PAGE_SIZE             (0x1000)
16
17 #define RDMA_MAX_SGE_PER_SQ_WQE         (4)
18 #define RDMA_MAX_SGE_PER_RQ_WQE         (4)
19
20 #define RDMA_MAX_DATA_SIZE_IN_WQE       (0x80000000)
21
22 #define RDMA_REQ_RD_ATOMIC_ELM_SIZE     (0x50)
23 #define RDMA_RESP_RD_ATOMIC_ELM_SIZE    (0x20)
24
25 #define RDMA_MAX_CQS                    (64 * 1024)
26 #define RDMA_MAX_TIDS                   (128 * 1024 - 1)
27 #define RDMA_MAX_PDS                    (64 * 1024)
28 #define RDMA_MAX_XRC_SRQS                       (1024)
29 #define RDMA_MAX_SRQS                           (32 * 1024)
30
31 #define RDMA_NUM_STATISTIC_COUNTERS     MAX_NUM_VPORTS
32 #define RDMA_NUM_STATISTIC_COUNTERS_K2  MAX_NUM_VPORTS_K2
33 #define RDMA_NUM_STATISTIC_COUNTERS_BB  MAX_NUM_VPORTS_BB
34
35 #define RDMA_TASK_TYPE (PROTOCOLID_ROCE)
36
37 struct rdma_srq_id {
38         __le16 srq_idx;
39         __le16 opaque_fid;
40 };
41
42 struct rdma_srq_producers {
43         __le32 sge_prod;
44         __le32 wqe_prod;
45 };
46
47 #endif /* __RDMA_COMMON__ */