diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-02-12 08:36:33 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-15 23:31:12 -0800 |
commit | de832a55d28bdcc38a3f3c160554d2dfa5a62069 (patch) | |
tree | 21df2b3da20af907b36fa30e1229e4e87ee235a9 /drivers/net/bnx2x_hsi.h | |
parent | d3d4f49527249e87d11219a22469dff25b674c08 (diff) | |
download | op-kernel-dev-de832a55d28bdcc38a3f3c160554d2dfa5a62069.zip op-kernel-dev-de832a55d28bdcc38a3f3c160554d2dfa5a62069.tar.gz |
bnx2x: Per queue statistics
Re-ordering the statistics to enhance readability and adding per queue
statistics (available via ethtool -S)
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_hsi.h')
-rw-r--r-- | drivers/net/bnx2x_hsi.h | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/drivers/net/bnx2x_hsi.h b/drivers/net/bnx2x_hsi.h index 25751a2..40061b3 100644 --- a/drivers/net/bnx2x_hsi.h +++ b/drivers/net/bnx2x_hsi.h @@ -641,7 +641,8 @@ struct drv_port_mb { u32 port_stx; - u32 reserved[2]; + u32 stat_nig_timer; + }; @@ -1429,8 +1430,10 @@ struct ustorm_eth_st_context_config { #define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_TPA_SHIFT 2 #define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_SGE_RING (0x1<<3) #define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_SGE_RING_SHIFT 3 -#define __USTORM_ETH_ST_CONTEXT_CONFIG_RESERVED0 (0xF<<4) -#define __USTORM_ETH_ST_CONTEXT_CONFIG_RESERVED0_SHIFT 4 +#define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_STATISTICS (0x1<<4) +#define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_STATISTICS_SHIFT 4 +#define __USTORM_ETH_ST_CONTEXT_CONFIG_RESERVED0 (0x7<<5) +#define __USTORM_ETH_ST_CONTEXT_CONFIG_RESERVED0_SHIFT 5 u8 status_block_id; u8 clientId; u8 sb_index_numbers; @@ -1455,8 +1458,10 @@ struct ustorm_eth_st_context_config { #define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_TPA_SHIFT 2 #define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_SGE_RING (0x1<<3) #define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_SGE_RING_SHIFT 3 -#define __USTORM_ETH_ST_CONTEXT_CONFIG_RESERVED0 (0xF<<4) -#define __USTORM_ETH_ST_CONTEXT_CONFIG_RESERVED0_SHIFT 4 +#define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_STATISTICS (0x1<<4) +#define USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_STATISTICS_SHIFT 4 +#define __USTORM_ETH_ST_CONTEXT_CONFIG_RESERVED0 (0x7<<5) +#define __USTORM_ETH_ST_CONTEXT_CONFIG_RESERVED0_SHIFT 5 #endif #if defined(__BIG_ENDIAN) u16 bd_buff_size; @@ -2764,11 +2769,33 @@ struct tstorm_common_stats { }; /* + * Protocol-common statistics collected by the Ustorm (per client) + */ +struct ustorm_per_client_stats { + struct regpair ucast_no_buff_bytes; + struct regpair mcast_no_buff_bytes; + struct regpair bcast_no_buff_bytes; + __le32 ucast_no_buff_pkts; + __le32 mcast_no_buff_pkts; + __le32 bcast_no_buff_pkts; + __le16 stats_counter; + __le16 reserved0; +}; + +/* + * Protocol-common statistics collected by the Ustorm + */ +struct ustorm_common_stats { + struct ustorm_per_client_stats client_statistics[MAX_U_STAT_COUNTER_ID]; +}; + +/* * Eth statistics query structure for the eth_stats_query ramrod */ struct eth_stats_query { struct xstorm_common_stats xstorm_common; struct tstorm_common_stats tstorm_common; + struct ustorm_common_stats ustorm_common; }; |