|
@@ -27,7 +27,7 @@ struct be_ethtool_stat {
|
|
|
};
|
|
|
|
|
|
enum {NETSTAT, PORTSTAT, MISCSTAT, DRVSTAT_TX, DRVSTAT_RX, ERXSTAT,
|
|
|
- PMEMSTAT};
|
|
|
+ PMEMSTAT, DRVSTAT};
|
|
|
#define FIELDINFO(_struct, field) FIELD_SIZEOF(_struct, field), \
|
|
|
offsetof(_struct, field)
|
|
|
#define NETSTAT_INFO(field) #field, NETSTAT,\
|
|
@@ -46,6 +46,9 @@ enum {NETSTAT, PORTSTAT, MISCSTAT, DRVSTAT_TX, DRVSTAT_RX, ERXSTAT,
|
|
|
FIELDINFO(struct be_erx_stats, field)
|
|
|
#define PMEMSTAT_INFO(field) #field, PMEMSTAT,\
|
|
|
FIELDINFO(struct be_pmem_stats, field)
|
|
|
+#define DRVSTAT_INFO(field) #field, DRVSTAT,\
|
|
|
+ FIELDINFO(struct be_drv_stats, \
|
|
|
+ field)
|
|
|
|
|
|
static const struct be_ethtool_stat et_stats[] = {
|
|
|
{NETSTAT_INFO(rx_packets)},
|
|
@@ -105,7 +108,8 @@ static const struct be_ethtool_stat et_stats[] = {
|
|
|
{MISCSTAT_INFO(rx_drops_mtu)},
|
|
|
{MISCSTAT_INFO(port0_jabber_events)},
|
|
|
{MISCSTAT_INFO(port1_jabber_events)},
|
|
|
- {PMEMSTAT_INFO(eth_red_drops)}
|
|
|
+ {PMEMSTAT_INFO(eth_red_drops)},
|
|
|
+ {DRVSTAT_INFO(be_on_die_temperature)}
|
|
|
};
|
|
|
#define ETHTOOL_STATS_NUM ARRAY_SIZE(et_stats)
|
|
|
|
|
@@ -285,6 +289,9 @@ be_get_ethtool_stats(struct net_device *netdev,
|
|
|
case PMEMSTAT:
|
|
|
p = &hw_stats->pmem;
|
|
|
break;
|
|
|
+ case DRVSTAT:
|
|
|
+ p = &adapter->drv_stats;
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
p = (u8 *)p + et_stats[i].offset;
|