Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 170642
b: refs/heads/master
c: 6abd234
h: refs/heads/master
v: v3
  • Loading branch information
Ron Mercer authored and David S. Miller committed Oct 12, 2009
1 parent 69dd8ad commit 5ac30b5
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 80928860941023bb37e9c61927395d0eb753bc3b
refs/heads/master: 6abd23468deaf3f6215a80b564f85df934209721
21 changes: 21 additions & 0 deletions trunk/drivers/net/qlge/qlge.h
Original file line number Diff line number Diff line change
Expand Up @@ -1363,6 +1363,27 @@ struct nic_stats {
u64 rx_1024_to_1518_pkts;
u64 rx_1519_to_max_pkts;
u64 rx_len_err_pkts;
/*
* These stats come from offset 500h to 5C8h
* in the XGMAC register.
*/
u64 tx_cbfc_pause_frames0;
u64 tx_cbfc_pause_frames1;
u64 tx_cbfc_pause_frames2;
u64 tx_cbfc_pause_frames3;
u64 tx_cbfc_pause_frames4;
u64 tx_cbfc_pause_frames5;
u64 tx_cbfc_pause_frames6;
u64 tx_cbfc_pause_frames7;
u64 rx_cbfc_pause_frames0;
u64 rx_cbfc_pause_frames1;
u64 rx_cbfc_pause_frames2;
u64 rx_cbfc_pause_frames3;
u64 rx_cbfc_pause_frames4;
u64 rx_cbfc_pause_frames5;
u64 rx_cbfc_pause_frames6;
u64 rx_cbfc_pause_frames7;
u64 rx_nic_fifo_drop;
};

/*
Expand Down
69 changes: 69 additions & 0 deletions trunk/drivers/net/qlge/qlge_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,41 @@ static void ql_update_stats(struct ql_adapter *qdev)
iter++;
}

/*
* Get Per-priority TX pause frame counter statistics.
*/
for (i = 0x500; i < 0x540; i += 8) {
if (ql_read_xgmac_reg64(qdev, i, &data)) {
QPRINTK(qdev, DRV, ERR,
"Error reading status register 0x%.04x.\n", i);
goto end;
} else
*iter = data;
iter++;
}

/*
* Get Per-priority RX pause frame counter statistics.
*/
for (i = 0x568; i < 0x5a8; i += 8) {
if (ql_read_xgmac_reg64(qdev, i, &data)) {
QPRINTK(qdev, DRV, ERR,
"Error reading status register 0x%.04x.\n", i);
goto end;
} else
*iter = data;
iter++;
}

/*
* Get RX NIC FIFO DROP statistics.
*/
if (ql_read_xgmac_reg64(qdev, 0x5b8, &data)) {
QPRINTK(qdev, DRV, ERR,
"Error reading status register 0x%.04x.\n", i);
goto end;
} else
*iter = data;
end:
ql_sem_unlock(qdev, qdev->xg_sem_mask);
quit:
Expand Down Expand Up @@ -185,6 +220,23 @@ static char ql_stats_str_arr[][ETH_GSTRING_LEN] = {
{"rx_1024_to_1518_pkts"},
{"rx_1519_to_max_pkts"},
{"rx_len_err_pkts"},
{"tx_cbfc_pause_frames0"},
{"tx_cbfc_pause_frames1"},
{"tx_cbfc_pause_frames2"},
{"tx_cbfc_pause_frames3"},
{"tx_cbfc_pause_frames4"},
{"tx_cbfc_pause_frames5"},
{"tx_cbfc_pause_frames6"},
{"tx_cbfc_pause_frames7"},
{"rx_cbfc_pause_frames0"},
{"rx_cbfc_pause_frames1"},
{"rx_cbfc_pause_frames2"},
{"rx_cbfc_pause_frames3"},
{"rx_cbfc_pause_frames4"},
{"rx_cbfc_pause_frames5"},
{"rx_cbfc_pause_frames6"},
{"rx_cbfc_pause_frames7"},
{"rx_nic_fifo_drop"},
};

static void ql_get_strings(struct net_device *dev, u32 stringset, u8 *buf)
Expand Down Expand Up @@ -257,6 +309,23 @@ ql_get_ethtool_stats(struct net_device *ndev,
*data++ = s->rx_1024_to_1518_pkts;
*data++ = s->rx_1519_to_max_pkts;
*data++ = s->rx_len_err_pkts;
*data++ = s->tx_cbfc_pause_frames0;
*data++ = s->tx_cbfc_pause_frames1;
*data++ = s->tx_cbfc_pause_frames2;
*data++ = s->tx_cbfc_pause_frames3;
*data++ = s->tx_cbfc_pause_frames4;
*data++ = s->tx_cbfc_pause_frames5;
*data++ = s->tx_cbfc_pause_frames6;
*data++ = s->tx_cbfc_pause_frames7;
*data++ = s->rx_cbfc_pause_frames0;
*data++ = s->rx_cbfc_pause_frames1;
*data++ = s->rx_cbfc_pause_frames2;
*data++ = s->rx_cbfc_pause_frames3;
*data++ = s->rx_cbfc_pause_frames4;
*data++ = s->rx_cbfc_pause_frames5;
*data++ = s->rx_cbfc_pause_frames6;
*data++ = s->rx_cbfc_pause_frames7;
*data++ = s->rx_nic_fifo_drop;
}

static int ql_get_settings(struct net_device *ndev,
Expand Down

0 comments on commit 5ac30b5

Please sign in to comment.