|
@@ -198,19 +198,23 @@ static const struct {
|
|
|
|
|
|
#define BNXT_NUM_PORT_STATS ARRAY_SIZE(bnxt_port_stats_arr)
|
|
#define BNXT_NUM_PORT_STATS ARRAY_SIZE(bnxt_port_stats_arr)
|
|
|
|
|
|
|
|
+static int bnxt_get_num_stats(struct bnxt *bp)
|
|
|
|
+{
|
|
|
|
+ int num_stats = BNXT_NUM_STATS * bp->cp_nr_rings;
|
|
|
|
+
|
|
|
|
+ if (bp->flags & BNXT_FLAG_PORT_STATS)
|
|
|
|
+ num_stats += BNXT_NUM_PORT_STATS;
|
|
|
|
+
|
|
|
|
+ return num_stats;
|
|
|
|
+}
|
|
|
|
+
|
|
static int bnxt_get_sset_count(struct net_device *dev, int sset)
|
|
static int bnxt_get_sset_count(struct net_device *dev, int sset)
|
|
{
|
|
{
|
|
struct bnxt *bp = netdev_priv(dev);
|
|
struct bnxt *bp = netdev_priv(dev);
|
|
|
|
|
|
switch (sset) {
|
|
switch (sset) {
|
|
- case ETH_SS_STATS: {
|
|
|
|
- int num_stats = BNXT_NUM_STATS * bp->cp_nr_rings;
|
|
|
|
-
|
|
|
|
- if (bp->flags & BNXT_FLAG_PORT_STATS)
|
|
|
|
- num_stats += BNXT_NUM_PORT_STATS;
|
|
|
|
-
|
|
|
|
- return num_stats;
|
|
|
|
- }
|
|
|
|
|
|
+ case ETH_SS_STATS:
|
|
|
|
+ return bnxt_get_num_stats(bp);
|
|
case ETH_SS_TEST:
|
|
case ETH_SS_TEST:
|
|
if (!bp->num_tests)
|
|
if (!bp->num_tests)
|
|
return -EOPNOTSUPP;
|
|
return -EOPNOTSUPP;
|
|
@@ -225,11 +229,8 @@ static void bnxt_get_ethtool_stats(struct net_device *dev,
|
|
{
|
|
{
|
|
u32 i, j = 0;
|
|
u32 i, j = 0;
|
|
struct bnxt *bp = netdev_priv(dev);
|
|
struct bnxt *bp = netdev_priv(dev);
|
|
- u32 buf_size = sizeof(struct ctx_hw_stats) * bp->cp_nr_rings;
|
|
|
|
u32 stat_fields = sizeof(struct ctx_hw_stats) / 8;
|
|
u32 stat_fields = sizeof(struct ctx_hw_stats) / 8;
|
|
|
|
|
|
- memset(buf, 0, buf_size);
|
|
|
|
-
|
|
|
|
if (!bp->bnapi)
|
|
if (!bp->bnapi)
|
|
return;
|
|
return;
|
|
|
|
|
|
@@ -835,7 +836,7 @@ static void bnxt_get_drvinfo(struct net_device *dev,
|
|
strlcpy(info->fw_version, bp->fw_ver_str,
|
|
strlcpy(info->fw_version, bp->fw_ver_str,
|
|
sizeof(info->fw_version));
|
|
sizeof(info->fw_version));
|
|
strlcpy(info->bus_info, pci_name(bp->pdev), sizeof(info->bus_info));
|
|
strlcpy(info->bus_info, pci_name(bp->pdev), sizeof(info->bus_info));
|
|
- info->n_stats = BNXT_NUM_STATS * bp->cp_nr_rings;
|
|
|
|
|
|
+ info->n_stats = bnxt_get_num_stats(bp);
|
|
info->testinfo_len = bp->num_tests;
|
|
info->testinfo_len = bp->num_tests;
|
|
/* TODO CHIMP_FW: eeprom dump details */
|
|
/* TODO CHIMP_FW: eeprom dump details */
|
|
info->eedump_len = 0;
|
|
info->eedump_len = 0;
|