xref: /freebsd/contrib/ofed/libirdma/i40iw_hw.h (revision 5b5f7d0e77a9eee73eb5d596f43aef4e1a3674d8)
1cdcd52d4SBartosz Sobczak /*-
2cdcd52d4SBartosz Sobczak  * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
3cdcd52d4SBartosz Sobczak  *
4*5b5f7d0eSBartosz Sobczak  * Copyright (c) 2015 - 2023 Intel Corporation
5cdcd52d4SBartosz Sobczak  *
6cdcd52d4SBartosz Sobczak  * This software is available to you under a choice of one of two
7cdcd52d4SBartosz Sobczak  * licenses.  You may choose to be licensed under the terms of the GNU
8cdcd52d4SBartosz Sobczak  * General Public License (GPL) Version 2, available from the file
9cdcd52d4SBartosz Sobczak  * COPYING in the main directory of this source tree, or the
10cdcd52d4SBartosz Sobczak  * OpenFabrics.org BSD license below:
11cdcd52d4SBartosz Sobczak  *
12cdcd52d4SBartosz Sobczak  *   Redistribution and use in source and binary forms, with or
13cdcd52d4SBartosz Sobczak  *   without modification, are permitted provided that the following
14cdcd52d4SBartosz Sobczak  *   conditions are met:
15cdcd52d4SBartosz Sobczak  *
16cdcd52d4SBartosz Sobczak  *    - Redistributions of source code must retain the above
17cdcd52d4SBartosz Sobczak  *	copyright notice, this list of conditions and the following
18cdcd52d4SBartosz Sobczak  *	disclaimer.
19cdcd52d4SBartosz Sobczak  *
20cdcd52d4SBartosz Sobczak  *    - Redistributions in binary form must reproduce the above
21cdcd52d4SBartosz Sobczak  *	copyright notice, this list of conditions and the following
22cdcd52d4SBartosz Sobczak  *	disclaimer in the documentation and/or other materials
23cdcd52d4SBartosz Sobczak  *	provided with the distribution.
24cdcd52d4SBartosz Sobczak  *
25cdcd52d4SBartosz Sobczak  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
26cdcd52d4SBartosz Sobczak  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27cdcd52d4SBartosz Sobczak  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28cdcd52d4SBartosz Sobczak  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
29cdcd52d4SBartosz Sobczak  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
30cdcd52d4SBartosz Sobczak  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
31cdcd52d4SBartosz Sobczak  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32cdcd52d4SBartosz Sobczak  * SOFTWARE.
33cdcd52d4SBartosz Sobczak  */
34cdcd52d4SBartosz Sobczak 
35cdcd52d4SBartosz Sobczak #ifndef I40IW_HW_H
36cdcd52d4SBartosz Sobczak #define I40IW_HW_H
37cdcd52d4SBartosz Sobczak 
38cdcd52d4SBartosz Sobczak enum i40iw_device_caps_const {
39cdcd52d4SBartosz Sobczak 	I40IW_MAX_WQ_FRAGMENT_COUNT		= 3,
40cdcd52d4SBartosz Sobczak 	I40IW_MAX_SGE_RD			= 1,
41cdcd52d4SBartosz Sobczak 	I40IW_MAX_PUSH_PAGE_COUNT		= 0,
42cdcd52d4SBartosz Sobczak 	I40IW_MAX_INLINE_DATA_SIZE		= 48,
4335105900SBartosz Sobczak 	I40IW_MAX_IRD_SIZE			= 64,
4435105900SBartosz Sobczak 	I40IW_MAX_ORD_SIZE			= 64,
45cdcd52d4SBartosz Sobczak 	I40IW_MAX_WQ_ENTRIES			= 2048,
46cdcd52d4SBartosz Sobczak 	I40IW_MAX_WQE_SIZE_RQ			= 128,
47cdcd52d4SBartosz Sobczak 	I40IW_MAX_PDS				= 32768,
48cdcd52d4SBartosz Sobczak 	I40IW_MAX_STATS_COUNT			= 16,
49cdcd52d4SBartosz Sobczak 	I40IW_MAX_CQ_SIZE			= 1048575,
50cdcd52d4SBartosz Sobczak 	I40IW_MAX_OUTBOUND_MSG_SIZE		= 2147483647,
51cdcd52d4SBartosz Sobczak 	I40IW_MAX_INBOUND_MSG_SIZE		= 2147483647,
52777e472cSBartosz Sobczak 	I40IW_MIN_WQ_SIZE			= 4 /* WQEs */,
53cdcd52d4SBartosz Sobczak };
54cdcd52d4SBartosz Sobczak 
55cdcd52d4SBartosz Sobczak #define I40IW_QP_WQE_MIN_SIZE   32
56cdcd52d4SBartosz Sobczak #define I40IW_QP_WQE_MAX_SIZE   128
57cdcd52d4SBartosz Sobczak #define I40IW_MAX_RQ_WQE_SHIFT  2
58cdcd52d4SBartosz Sobczak #define I40IW_MAX_QUANTA_PER_WR 2
59cdcd52d4SBartosz Sobczak 
60cdcd52d4SBartosz Sobczak #define I40IW_QP_SW_MAX_SQ_QUANTA 2048
61cdcd52d4SBartosz Sobczak #define I40IW_QP_SW_MAX_RQ_QUANTA 16384
62cdcd52d4SBartosz Sobczak #define I40IW_QP_SW_MAX_WQ_QUANTA 2048
63cdcd52d4SBartosz Sobczak #endif /* I40IW_HW_H */
64