Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / include / linux / qed / roce_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 __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__ */