xref: /linux/include/linux/qed/roce_common.h (revision 0be3ff0c)
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 __ROCE_COMMON__
8 #define __ROCE_COMMON__
9 
10 /************************/
11 /* ROCE FW CONSTANTS */
12 /************************/
13 
14 #define ROCE_REQ_MAX_INLINE_DATA_SIZE	(256)
15 #define ROCE_REQ_MAX_SINGLE_SQ_WQE_SIZE	(288)
16 
17 #define ROCE_MAX_QPS			(32 * 1024)
18 #define ROCE_DCQCN_NP_MAX_QPS		(64)
19 #define ROCE_DCQCN_RP_MAX_QPS		(64)
20 #define ROCE_LKEY_MW_DIF_EN_BIT		(28)
21 
22 /* Affiliated asynchronous events / errors enumeration */
23 enum roce_async_events_type {
24 	ROCE_ASYNC_EVENT_NONE = 0,
25 	ROCE_ASYNC_EVENT_COMM_EST = 1,
26 	ROCE_ASYNC_EVENT_SQ_DRAINED,
27 	ROCE_ASYNC_EVENT_SRQ_LIMIT,
28 	ROCE_ASYNC_EVENT_LAST_WQE_REACHED,
29 	ROCE_ASYNC_EVENT_CQ_ERR,
30 	ROCE_ASYNC_EVENT_LOCAL_INVALID_REQUEST_ERR,
31 	ROCE_ASYNC_EVENT_LOCAL_CATASTROPHIC_ERR,
32 	ROCE_ASYNC_EVENT_LOCAL_ACCESS_ERR,
33 	ROCE_ASYNC_EVENT_QP_CATASTROPHIC_ERR,
34 	ROCE_ASYNC_EVENT_CQ_OVERFLOW_ERR,
35 	ROCE_ASYNC_EVENT_SRQ_EMPTY,
36 	ROCE_ASYNC_EVENT_DESTROY_QP_DONE,
37 	ROCE_ASYNC_EVENT_XRC_DOMAIN_ERR,
38 	ROCE_ASYNC_EVENT_INVALID_XRCETH_ERR,
39 	ROCE_ASYNC_EVENT_XRC_SRQ_CATASTROPHIC_ERR,
40 	MAX_ROCE_ASYNC_EVENTS_TYPE
41 };
42 
43 #endif /* __ROCE_COMMON__ */
44