Commit 52290740 authored by Shahed Shaikh's avatar Shahed Shaikh Committed by David S. Miller

qlcnic: Add eSwitch statistics support

o Read eSwitch statistics from adapter and display them as part
  of ethtool statistics.
Signed-off-by: default avatarShahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: default avatarJitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c0d79cd0
...@@ -2922,6 +2922,9 @@ static u64 *qlcnic_83xx_fill_stats(struct qlcnic_adapter *adapter, ...@@ -2922,6 +2922,9 @@ static u64 *qlcnic_83xx_fill_stats(struct qlcnic_adapter *adapter,
/* fill in MAC rx frame stats */ /* fill in MAC rx frame stats */
for (k += 6; k < 80; k += 2) for (k += 6; k < 80; k += 2)
data = qlcnic_83xx_copy_stats(cmd, data, k); data = qlcnic_83xx_copy_stats(cmd, data, k);
/* fill in eSwitch stats */
for (; k < total_regs; k += 2)
data = qlcnic_83xx_copy_stats(cmd, data, k);
break; break;
case QLC_83XX_STAT_RX: case QLC_83XX_STAT_RX:
for (k = 2; k < 8; k += 2) for (k = 2; k < 8; k += 2)
......
...@@ -381,7 +381,7 @@ enum qlcnic_83xx_states { ...@@ -381,7 +381,7 @@ enum qlcnic_83xx_states {
#define QLC_83XX_STAT_MAC 1 #define QLC_83XX_STAT_MAC 1
#define QLC_83XX_TX_STAT_REGS 14 #define QLC_83XX_TX_STAT_REGS 14
#define QLC_83XX_RX_STAT_REGS 40 #define QLC_83XX_RX_STAT_REGS 40
#define QLC_83XX_MAC_STAT_REGS 80 #define QLC_83XX_MAC_STAT_REGS 94
#define QLC_83XX_GET_FUNC_PRIVILEGE(VAL, FN) (0x3 & ((VAL) >> (FN * 2))) #define QLC_83XX_GET_FUNC_PRIVILEGE(VAL, FN) (0x3 & ((VAL) >> (FN * 2)))
#define QLC_83XX_SET_FUNC_OPMODE(VAL, FN) ((VAL) << (FN * 2)) #define QLC_83XX_SET_FUNC_OPMODE(VAL, FN) ((VAL) << (FN * 2))
......
...@@ -115,6 +115,13 @@ static const char qlcnic_83xx_mac_stats_strings[][ETH_GSTRING_LEN] = { ...@@ -115,6 +115,13 @@ static const char qlcnic_83xx_mac_stats_strings[][ETH_GSTRING_LEN] = {
"mac_rx_dropped", "mac_rx_dropped",
"mac_crc_error", "mac_crc_error",
"mac_align_error", "mac_align_error",
"eswitch_frames",
"eswitch_bytes",
"eswitch_multicast_frames",
"eswitch_broadcast_frames",
"eswitch_unicast_frames",
"eswitch_error_free_frames",
"eswitch_error_free_bytes",
}; };
#define QLCNIC_STATS_LEN ARRAY_SIZE(qlcnic_gstrings_stats) #define QLCNIC_STATS_LEN ARRAY_SIZE(qlcnic_gstrings_stats)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment