blob: 473fba76aa77563ef9b4417447cfccd719e43dba [file] [log] [blame]
Yuval Mintz7a9b6b82016-06-03 14:35:33 +03001/* QLogic qed NIC Driver
Mintz, Yuvale8f1cb52017-01-01 13:57:00 +02002 * Copyright (c) 2015-2017 QLogic Corporation
Yuval Mintz7a9b6b82016-06-03 14:35:33 +03003 *
Mintz, Yuvale8f1cb52017-01-01 13:57:00 +02004 * This software is available to you under a choice of one of two
5 * licenses. You may choose to be licensed under the terms of the GNU
6 * General Public License (GPL) Version 2, available from the file
7 * COPYING in the main directory of this source tree, or the
8 * OpenIB.org BSD license below:
9 *
10 * Redistribution and use in source and binary forms, with or
11 * without modification, are permitted provided that the following
12 * conditions are met:
13 *
14 * - Redistributions of source code must retain the above
15 * copyright notice, this list of conditions and the following
16 * disclaimer.
17 *
18 * - Redistributions in binary form must reproduce the above
19 * copyright notice, this list of conditions and the following
20 * disclaimer in the documentation and /or other materials
21 * provided with the distribution.
22 *
23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
27 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
28 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
29 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30 * SOFTWARE.
Yuval Mintz7a9b6b82016-06-03 14:35:33 +030031 */
32
33#ifndef __ROCE_COMMON__
34#define __ROCE_COMMON__
35
Tomer Tayara2e76992017-12-27 19:30:05 +020036/************************/
37/* ROCE FW CONSTANTS */
38/************************/
Yuval Mintz7a9b6b82016-06-03 14:35:33 +030039
Tomer Tayara2e76992017-12-27 19:30:05 +020040#define ROCE_REQ_MAX_INLINE_DATA_SIZE (256)
41#define ROCE_REQ_MAX_SINGLE_SQ_WQE_SIZE (288)
Yuval Mintz7a9b6b82016-06-03 14:35:33 +030042
Tomer Tayara2e76992017-12-27 19:30:05 +020043#define ROCE_MAX_QPS (32 * 1024)
44#define ROCE_DCQCN_NP_MAX_QPS (64)
45#define ROCE_DCQCN_RP_MAX_QPS (64)
Michal Kalderond52c89f2018-06-05 13:11:16 +030046#define ROCE_LKEY_MW_DIF_EN_BIT (28)
Tomer Tayara2e76992017-12-27 19:30:05 +020047
48/* Affiliated asynchronous events / errors enumeration */
Mintz, Yuvalbe086e72017-03-11 18:39:18 +020049enum roce_async_events_type {
50 ROCE_ASYNC_EVENT_NONE = 0,
51 ROCE_ASYNC_EVENT_COMM_EST = 1,
52 ROCE_ASYNC_EVENT_SQ_DRAINED,
53 ROCE_ASYNC_EVENT_SRQ_LIMIT,
54 ROCE_ASYNC_EVENT_LAST_WQE_REACHED,
55 ROCE_ASYNC_EVENT_CQ_ERR,
56 ROCE_ASYNC_EVENT_LOCAL_INVALID_REQUEST_ERR,
57 ROCE_ASYNC_EVENT_LOCAL_CATASTROPHIC_ERR,
58 ROCE_ASYNC_EVENT_LOCAL_ACCESS_ERR,
59 ROCE_ASYNC_EVENT_QP_CATASTROPHIC_ERR,
60 ROCE_ASYNC_EVENT_CQ_OVERFLOW_ERR,
61 ROCE_ASYNC_EVENT_SRQ_EMPTY,
62 ROCE_ASYNC_EVENT_DESTROY_QP_DONE,
Michal Kalderon50bc60c2018-03-28 11:42:16 +030063 ROCE_ASYNC_EVENT_XRC_DOMAIN_ERR,
64 ROCE_ASYNC_EVENT_INVALID_XRCETH_ERR,
65 ROCE_ASYNC_EVENT_XRC_SRQ_CATASTROPHIC_ERR,
Mintz, Yuvalbe086e72017-03-11 18:39:18 +020066 MAX_ROCE_ASYNC_EVENTS_TYPE
67};
68
Yuval Mintz7a9b6b82016-06-03 14:35:33 +030069#endif /* __ROCE_COMMON__ */