Commit 83eb5c5c authored by Michael Chan's avatar Michael Chan Committed by David S. Miller

bnxt_en: Add software "missed_irqs" counter.

To keep track of the number of times the workaround code for 57500 A0
has been triggered.  This is a per NQ counter.
Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ffd77621
...@@ -8909,6 +8909,7 @@ static void bnxt_chk_missed_irq(struct bnxt *bp) ...@@ -8909,6 +8909,7 @@ static void bnxt_chk_missed_irq(struct bnxt *bp)
bnxt_dbg_hwrm_ring_info_get(bp, bnxt_dbg_hwrm_ring_info_get(bp,
DBG_RING_INFO_GET_REQ_RING_TYPE_L2_CMPL, DBG_RING_INFO_GET_REQ_RING_TYPE_L2_CMPL,
fw_ring_id, &val[0], &val[1]); fw_ring_id, &val[0], &val[1]);
cpr->missed_irqs++;
} }
} }
} }
......
...@@ -818,6 +818,7 @@ struct bnxt_cp_ring_info { ...@@ -818,6 +818,7 @@ struct bnxt_cp_ring_info {
dma_addr_t hw_stats_map; dma_addr_t hw_stats_map;
u32 hw_stats_ctx_id; u32 hw_stats_ctx_id;
u64 rx_l4_csum_errors; u64 rx_l4_csum_errors;
u64 missed_irqs;
struct bnxt_ring_struct cp_ring_struct; struct bnxt_ring_struct cp_ring_struct;
......
...@@ -137,7 +137,7 @@ static int bnxt_set_coalesce(struct net_device *dev, ...@@ -137,7 +137,7 @@ static int bnxt_set_coalesce(struct net_device *dev,
return rc; return rc;
} }
#define BNXT_NUM_STATS 21 #define BNXT_NUM_STATS 22
#define BNXT_RX_STATS_ENTRY(counter) \ #define BNXT_RX_STATS_ENTRY(counter) \
{ BNXT_RX_STATS_OFFSET(counter), __stringify(counter) } { BNXT_RX_STATS_OFFSET(counter), __stringify(counter) }
...@@ -384,6 +384,7 @@ static void bnxt_get_ethtool_stats(struct net_device *dev, ...@@ -384,6 +384,7 @@ static void bnxt_get_ethtool_stats(struct net_device *dev,
for (k = 0; k < stat_fields; j++, k++) for (k = 0; k < stat_fields; j++, k++)
buf[j] = le64_to_cpu(hw_stats[k]); buf[j] = le64_to_cpu(hw_stats[k]);
buf[j++] = cpr->rx_l4_csum_errors; buf[j++] = cpr->rx_l4_csum_errors;
buf[j++] = cpr->missed_irqs;
bnxt_sw_func_stats[RX_TOTAL_DISCARDS].counter += bnxt_sw_func_stats[RX_TOTAL_DISCARDS].counter +=
le64_to_cpu(cpr->hw_stats->rx_discard_pkts); le64_to_cpu(cpr->hw_stats->rx_discard_pkts);
...@@ -468,6 +469,8 @@ static void bnxt_get_strings(struct net_device *dev, u32 stringset, u8 *buf) ...@@ -468,6 +469,8 @@ static void bnxt_get_strings(struct net_device *dev, u32 stringset, u8 *buf)
buf += ETH_GSTRING_LEN; buf += ETH_GSTRING_LEN;
sprintf(buf, "[%d]: rx_l4_csum_errors", i); sprintf(buf, "[%d]: rx_l4_csum_errors", i);
buf += ETH_GSTRING_LEN; buf += ETH_GSTRING_LEN;
sprintf(buf, "[%d]: missed_irqs", i);
buf += ETH_GSTRING_LEN;
} }
for (i = 0; i < BNXT_NUM_SW_FUNC_STATS; i++) { for (i = 0; i < BNXT_NUM_SW_FUNC_STATS; i++) {
strcpy(buf, bnxt_sw_func_stats[i].string); strcpy(buf, bnxt_sw_func_stats[i].string);
......
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