xref: /illumos-gate/usr/src/uts/common/io/bnx/bnxcfg.h (revision eef4f27b270242808b43b4b23bd161df52839361)
1*eef4f27bSRobert Mustacchi /*
2*eef4f27bSRobert Mustacchi  * Copyright 2014-2017 Cavium, Inc.
3*eef4f27bSRobert Mustacchi  * The contents of this file are subject to the terms of the Common Development
4*eef4f27bSRobert Mustacchi  * and Distribution License, v.1,  (the "License").
5*eef4f27bSRobert Mustacchi  *
6*eef4f27bSRobert Mustacchi  * You may not use this file except in compliance with the License.
7*eef4f27bSRobert Mustacchi  *
8*eef4f27bSRobert Mustacchi  * You can obtain a copy of the License at available
9*eef4f27bSRobert Mustacchi  * at http://opensource.org/licenses/CDDL-1.0
10*eef4f27bSRobert Mustacchi  *
11*eef4f27bSRobert Mustacchi  * See the License for the specific language governing permissions and
12*eef4f27bSRobert Mustacchi  * limitations under the License.
13*eef4f27bSRobert Mustacchi  */
14*eef4f27bSRobert Mustacchi 
15*eef4f27bSRobert Mustacchi /*
16*eef4f27bSRobert Mustacchi  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
17*eef4f27bSRobert Mustacchi  */
18*eef4f27bSRobert Mustacchi 
19*eef4f27bSRobert Mustacchi #ifndef _BNXCFG_H
20*eef4f27bSRobert Mustacchi #define	_BNXCFG_H
21*eef4f27bSRobert Mustacchi 
22*eef4f27bSRobert Mustacchi #include "bnx.h"
23*eef4f27bSRobert Mustacchi 
24*eef4f27bSRobert Mustacchi #ifdef __cplusplus
25*eef4f27bSRobert Mustacchi extern "C" {
26*eef4f27bSRobert Mustacchi #endif
27*eef4f27bSRobert Mustacchi 
28*eef4f27bSRobert Mustacchi #define	USER_OPTION_KEYWORD_STATSTICKS	"statticks"
29*eef4f27bSRobert Mustacchi #define	USER_OPTION_KEYWORD_RX_DCOPY	"RxDCopy"
30*eef4f27bSRobert Mustacchi 
31*eef4f27bSRobert Mustacchi 
32*eef4f27bSRobert Mustacchi #define	USER_OPTION_CKSUM_NONE			0x0
33*eef4f27bSRobert Mustacchi #define	USER_OPTION_CKSUM_TX_ONLY		0x1
34*eef4f27bSRobert Mustacchi #define	USER_OPTION_CKSUM_RX_ONLY		0x2
35*eef4f27bSRobert Mustacchi #define	USER_OPTION_CKSUM_TX_RX			0x3
36*eef4f27bSRobert Mustacchi #define	USER_OPTION_CKSUM_DEFAULT		0x3
37*eef4f27bSRobert Mustacchi 
38*eef4f27bSRobert Mustacchi #define	USER_OPTION_STATSTICKS_MIN		0
39*eef4f27bSRobert Mustacchi #define	USER_OPTION_STATSTICKS_MAX		1000000
40*eef4f27bSRobert Mustacchi #define	USER_OPTION_STATSTICKS_DEFAULT		1000000
41*eef4f27bSRobert Mustacchi 
42*eef4f27bSRobert Mustacchi #define	USER_OPTION_TICKS_MIN			0
43*eef4f27bSRobert Mustacchi #define	USER_OPTION_TICKS_MAX			LM_HC_RX_TICKS_VAL_MAX
44*eef4f27bSRobert Mustacchi 
45*eef4f27bSRobert Mustacchi #define	USER_OPTION_TICKS_INT_MIN		0
46*eef4f27bSRobert Mustacchi #define	USER_OPTION_TICKS_INT_MAX		LM_HC_RX_TICKS_INT_MAX
47*eef4f27bSRobert Mustacchi 
48*eef4f27bSRobert Mustacchi #define	USER_OPTION_TXTICKS_DEFAULT		45
49*eef4f27bSRobert Mustacchi #define	USER_OPTION_TXTICKS_INT_DEFAULT		15
50*eef4f27bSRobert Mustacchi #define	USER_OPTION_RXTICKS_DEFAULT		20
51*eef4f27bSRobert Mustacchi #define	USER_OPTION_RXTICKS_INT_DEFAULT		15
52*eef4f27bSRobert Mustacchi 
53*eef4f27bSRobert Mustacchi #define	USER_OPTION_FRAMES_MIN			0
54*eef4f27bSRobert Mustacchi #define	USER_OPTION_FRAMES_MAX			LM_HC_RX_QUICK_CONS_TRIP_VAL_MAX
55*eef4f27bSRobert Mustacchi 
56*eef4f27bSRobert Mustacchi #define	USER_OPTION_TXFRAMES_DEFAULT		16
57*eef4f27bSRobert Mustacchi #define	USER_OPTION_TXFRAMES_INT_DEFAULT	8
58*eef4f27bSRobert Mustacchi #define	USER_OPTION_RXFRAMES_DEFAULT		4
59*eef4f27bSRobert Mustacchi #define	USER_OPTION_RXFRAMES_INT_DEFAULT	4
60*eef4f27bSRobert Mustacchi 
61*eef4f27bSRobert Mustacchi #define	USER_OPTION_TX_DESC_CNT_MIN		1
62*eef4f27bSRobert Mustacchi #define	USER_OPTION_TX_DESC_CNT_MAX		32385
63*eef4f27bSRobert Mustacchi #define	USER_OPTION_TX_DESC_CNT_DEFAULT		\
64*eef4f27bSRobert Mustacchi 	(1024 - (1024 % MAX_BD_PER_PAGE))
65*eef4f27bSRobert Mustacchi 
66*eef4f27bSRobert Mustacchi #define	USER_OPTION_RX_DESC_CNT_MIN		1
67*eef4f27bSRobert Mustacchi #define	USER_OPTION_RX_DESC_CNT_MAX		32385
68*eef4f27bSRobert Mustacchi #define	USER_OPTION_RX_DESC_CNT_DEFAULT		(512 - (512 % MAX_BD_PER_PAGE))
69*eef4f27bSRobert Mustacchi 
70*eef4f27bSRobert Mustacchi #define	USER_OPTION_MTU_MIN			60
71*eef4f27bSRobert Mustacchi #define	USER_OPTION_MTU_MAX			9000
72*eef4f27bSRobert Mustacchi #define	USER_OPTION_MTU_DEFAULT		1500
73*eef4f27bSRobert Mustacchi 
74*eef4f27bSRobert Mustacchi #define	USER_OPTION_TX_DCOPY_THRESH_DEFAULT	512
75*eef4f27bSRobert Mustacchi #define	USER_OPTION_RX_DCOPY_DEFAULT		0xffffffff
76*eef4f27bSRobert Mustacchi 
77*eef4f27bSRobert Mustacchi 
78*eef4f27bSRobert Mustacchi extern const bnx_lnk_cfg_t bnx_copper_config;
79*eef4f27bSRobert Mustacchi extern const bnx_lnk_cfg_t bnx_serdes_config;
80*eef4f27bSRobert Mustacchi 
81*eef4f27bSRobert Mustacchi void bnx_cfg_msix(um_device_t * const umdevice);
82*eef4f27bSRobert Mustacchi void bnx_cfg_init(um_device_t * const umdevice);
83*eef4f27bSRobert Mustacchi void bnx_cfg_reset(um_device_t * const umdevice);
84*eef4f27bSRobert Mustacchi void bnx_cfg_map_phy(um_device_t * const umdevice);
85*eef4f27bSRobert Mustacchi 
86*eef4f27bSRobert Mustacchi #ifdef __cplusplus
87*eef4f27bSRobert Mustacchi }
88*eef4f27bSRobert Mustacchi #endif
89*eef4f27bSRobert Mustacchi 
90*eef4f27bSRobert Mustacchi #endif /* _BNXCFG_H */
91