xref: /OK3568_Linux_fs/kernel/drivers/net/ethernet/neterion/vxge/vxge-ethtool.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /******************************************************************************
2*4882a593Smuzhiyun  * This software may be used and distributed according to the terms of
3*4882a593Smuzhiyun  * the GNU General Public License (GPL), incorporated herein by reference.
4*4882a593Smuzhiyun  * Drivers based on or derived from this code fall under the GPL and must
5*4882a593Smuzhiyun  * retain the authorship, copyright and license notice.  This file is not
6*4882a593Smuzhiyun  * a complete program and may only be used when the entire operating
7*4882a593Smuzhiyun  * system is licensed under the GPL.
8*4882a593Smuzhiyun  * See the file COPYING in this distribution for more information.
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  * vxge-ethtool.h: Driver for Exar Corp's X3100 Series 10GbE PCIe I/O
11*4882a593Smuzhiyun  *                 Virtualized Server Adapter.
12*4882a593Smuzhiyun  * Copyright(c) 2002-2010 Exar Corp.
13*4882a593Smuzhiyun  ******************************************************************************/
14*4882a593Smuzhiyun #ifndef _VXGE_ETHTOOL_H
15*4882a593Smuzhiyun #define _VXGE_ETHTOOL_H
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun #include "vxge-main.h"
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun /* Ethtool related variables and Macros. */
20*4882a593Smuzhiyun static int vxge_ethtool_get_sset_count(struct net_device *dev, int sset);
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun #define VXGE_TITLE_LEN			5
23*4882a593Smuzhiyun #define VXGE_HW_VPATH_STATS_LEN 	27
24*4882a593Smuzhiyun #define VXGE_HW_AGGR_STATS_LEN  	13
25*4882a593Smuzhiyun #define VXGE_HW_PORT_STATS_LEN  	94
26*4882a593Smuzhiyun #define VXGE_HW_VPATH_TX_STATS_LEN	19
27*4882a593Smuzhiyun #define VXGE_HW_VPATH_RX_STATS_LEN	42
28*4882a593Smuzhiyun #define VXGE_SW_STATS_LEN		60
29*4882a593Smuzhiyun #define VXGE_HW_STATS_LEN	(VXGE_HW_VPATH_STATS_LEN +\
30*4882a593Smuzhiyun 				VXGE_HW_AGGR_STATS_LEN +\
31*4882a593Smuzhiyun 				VXGE_HW_PORT_STATS_LEN +\
32*4882a593Smuzhiyun 				VXGE_HW_VPATH_TX_STATS_LEN +\
33*4882a593Smuzhiyun 				VXGE_HW_VPATH_RX_STATS_LEN)
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #define DRIVER_STAT_LEN (sizeof(ethtool_driver_stats_keys)/ETH_GSTRING_LEN)
36*4882a593Smuzhiyun #define STAT_LEN (VXGE_HW_STATS_LEN + DRIVER_STAT_LEN + VXGE_SW_STATS_LEN)
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun /* Maximum flicker time of adapter LED */
39*4882a593Smuzhiyun #define VXGE_MAX_FLICKER_TIME (60 * HZ) /* 60 seconds */
40*4882a593Smuzhiyun #define VXGE_FLICKER_ON		1
41*4882a593Smuzhiyun #define VXGE_FLICKER_OFF	0
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun #define vxge_add_string(fmt, size, buf, ...) {\
44*4882a593Smuzhiyun 	snprintf(buf + *size, ETH_GSTRING_LEN, fmt, __VA_ARGS__); \
45*4882a593Smuzhiyun 	*size += ETH_GSTRING_LEN; \
46*4882a593Smuzhiyun }
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun #endif /*_VXGE_ETHTOOL_H*/
49