@ -52,11 +52,6 @@ static u64 efx_get_uint_stat(void *field)
return * ( unsigned int * ) field ;
}
static u64 efx_get_ulong_stat ( void * field )
{
return * ( unsigned long * ) field ;
}
static u64 efx_get_u64_stat ( void * field )
{
return * ( u64 * ) field ;
@ -67,10 +62,6 @@ static u64 efx_get_atomic_stat(void *field)
return atomic_read ( ( atomic_t * ) field ) ;
}
# define EFX_ETHTOOL_ULONG_MAC_STAT(field) \
EFX_ETHTOOL_STAT ( field , mac_stats , field , \
unsigned long , efx_get_ulong_stat )
# define EFX_ETHTOOL_U64_MAC_STAT(field) \
EFX_ETHTOOL_STAT ( field , mac_stats , field , \
u64 , efx_get_u64_stat )
@ -95,32 +86,32 @@ static const struct efx_ethtool_stat efx_ethtool_stats[] = {
EFX_ETHTOOL_U64_MAC_STAT ( tx_bytes ) ,
EFX_ETHTOOL_U64_MAC_STAT ( tx_good_bytes ) ,
EFX_ETHTOOL_U64_MAC_STAT ( tx_bad_bytes ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_packets ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_bad ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_pause ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_control ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_unicast ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_multicast ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_broadcast ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_lt64 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_64 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_65_to_127 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_128_to_255 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_256_to_511 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_512_to_1023 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_1024_to_15xx ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_15xx_to_jumbo ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_gtjumbo ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_collision ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_single_collision ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_multiple_collision ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_excessive_collision ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_deferred ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_late_collision ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_excessive_deferred ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_non_tcpudp ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_mac_src_error ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( tx_ip_src_error ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_packets ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_bad ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_pause ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_control ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_unicast ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_multicast ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_broadcast ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_lt64 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_64 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_65_to_127 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_128_to_255 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_256_to_511 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_512_to_1023 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_1024_to_15xx ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_15xx_to_jumbo ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_gtjumbo ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_collision ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_single_collision ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_multiple_collision ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_excessive_collision ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_deferred ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_late_collision ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_excessive_deferred ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_non_tcpudp ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_mac_src_error ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( tx_ip_src_error ) ,
EFX_ETHTOOL_UINT_TXQ_STAT ( tso_bursts ) ,
EFX_ETHTOOL_UINT_TXQ_STAT ( tso_long_headers ) ,
EFX_ETHTOOL_UINT_TXQ_STAT ( tso_packets ) ,
@ -128,34 +119,34 @@ static const struct efx_ethtool_stat efx_ethtool_stats[] = {
EFX_ETHTOOL_U64_MAC_STAT ( rx_bytes ) ,
EFX_ETHTOOL_U64_MAC_STAT ( rx_good_bytes ) ,
EFX_ETHTOOL_U64_MAC_STAT ( rx_bad_bytes ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_packets ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_good ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_bad ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_pause ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_control ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_unicast ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_multicast ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_broadcast ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_lt64 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_64 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_65_to_127 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_128_to_255 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_256_to_511 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_512_to_1023 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_1024_to_15xx ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_15xx_to_jumbo ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_gtjumbo ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_bad_lt64 ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_bad_64_to_15xx ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_bad_15xx_to_jumbo ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_bad_gtjumbo ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_overflow ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_missed ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_false_carrier ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_symbol_error ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_align_error ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_length_error ) ,
EFX_ETHTOOL_ULONG _MAC_STAT ( rx_internal_error ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_packets ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_good ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_bad ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_pause ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_control ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_unicast ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_multicast ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_broadcast ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_lt64 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_64 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_65_to_127 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_128_to_255 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_256_to_511 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_512_to_1023 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_1024_to_15xx ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_15xx_to_jumbo ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_gtjumbo ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_bad_lt64 ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_bad_64_to_15xx ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_bad_15xx_to_jumbo ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_bad_gtjumbo ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_overflow ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_missed ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_false_carrier ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_symbol_error ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_align_error ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_length_error ) ,
EFX_ETHTOOL_U64 _MAC_STAT ( rx_internal_error ) ,
EFX_ETHTOOL_UINT_NIC_STAT ( rx_nodesc_drop_cnt ) ,
EFX_ETHTOOL_ATOMIC_NIC_ERROR_STAT ( rx_reset ) ,
EFX_ETHTOOL_UINT_CHANNEL_STAT ( rx_tobe_disc ) ,