nvethernet: fix MMC counters for more than 4 channels

Issue: Currently ethtool not printing the counters information
more than DMA channels 4.

Fix: Add dump support for dumping the data for more then four
DMA channels or MTL queues.

Bug 200760072

Change-Id: I72551bce3a8e88a04e866857345eeede5e0f3447
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2588070
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Narayan Reddy <narayanr@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Bhadram Varka
2021-08-19 20:37:20 +05:30
committed by Revanth Kumar Uppala
parent 36d784d40e
commit 1d0b94cfa9

View File

@@ -115,6 +115,12 @@ static const struct ether_stats ether_dstrings_stats[] = {
ETHER_DMA_EXTRA_STAT(tx_clean_n[1]),
ETHER_DMA_EXTRA_STAT(tx_clean_n[2]),
ETHER_DMA_EXTRA_STAT(tx_clean_n[3]),
ETHER_DMA_EXTRA_STAT(tx_clean_n[4]),
ETHER_DMA_EXTRA_STAT(tx_clean_n[5]),
ETHER_DMA_EXTRA_STAT(tx_clean_n[6]),
ETHER_DMA_EXTRA_STAT(tx_clean_n[7]),
ETHER_DMA_EXTRA_STAT(tx_clean_n[8]),
ETHER_DMA_EXTRA_STAT(tx_clean_n[9]),
/* Tx/Rx frames */
ETHER_DMA_EXTRA_STAT(tx_pkt_n),
@@ -128,10 +134,22 @@ static const struct ether_stats ether_dstrings_stats[] = {
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[1]),
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[2]),
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[3]),
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[4]),
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[5]),
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[6]),
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[7]),
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[8]),
ETHER_DMA_EXTRA_STAT(q_tx_pkt_n[9]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[0]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[1]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[2]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[3]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[4]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[5]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[6]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[7]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[8]),
ETHER_DMA_EXTRA_STAT(q_rx_pkt_n[9]),
};
/**
@@ -160,24 +178,54 @@ static const struct ether_stats ether_gstrings_stats[] = {
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[1]),
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[2]),
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[3]),
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[4]),
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[5]),
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[6]),
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[7]),
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[8]),
ETHER_EXTRA_STAT(re_alloc_rxbuf_failed[9]),
/* Tx/Rx IRQ error info */
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[0]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[1]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[2]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[3]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[4]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[5]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[6]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[7]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[8]),
ETHER_EXTRA_STAT(tx_proc_stopped_irq_n[9]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[0]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[1]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[2]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[3]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[4]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[5]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[6]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[7]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[8]),
ETHER_EXTRA_STAT(rx_proc_stopped_irq_n[9]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[0]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[1]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[2]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[3]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[4]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[5]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[6]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[7]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[8]),
ETHER_EXTRA_STAT(tx_buf_unavail_irq_n[9]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[0]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[1]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[2]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[3]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[4]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[5]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[6]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[7]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[8]),
ETHER_EXTRA_STAT(rx_buf_unavail_irq_n[9]),
ETHER_EXTRA_STAT(rx_watchdog_irq_n),
ETHER_EXTRA_STAT(fatal_bus_error_irq_n),
@@ -186,14 +234,32 @@ static const struct ether_stats ether_gstrings_stats[] = {
ETHER_EXTRA_STAT(tx_normal_irq_n[1]),
ETHER_EXTRA_STAT(tx_normal_irq_n[2]),
ETHER_EXTRA_STAT(tx_normal_irq_n[3]),
ETHER_EXTRA_STAT(tx_normal_irq_n[4]),
ETHER_EXTRA_STAT(tx_normal_irq_n[5]),
ETHER_EXTRA_STAT(tx_normal_irq_n[6]),
ETHER_EXTRA_STAT(tx_normal_irq_n[7]),
ETHER_EXTRA_STAT(tx_normal_irq_n[8]),
ETHER_EXTRA_STAT(tx_normal_irq_n[9]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[0]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[1]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[2]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[3]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[4]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[5]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[6]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[7]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[8]),
ETHER_EXTRA_STAT(tx_usecs_swtimer_n[9]),
ETHER_EXTRA_STAT(rx_normal_irq_n[0]),
ETHER_EXTRA_STAT(rx_normal_irq_n[1]),
ETHER_EXTRA_STAT(rx_normal_irq_n[2]),
ETHER_EXTRA_STAT(rx_normal_irq_n[3]),
ETHER_EXTRA_STAT(rx_normal_irq_n[4]),
ETHER_EXTRA_STAT(rx_normal_irq_n[5]),
ETHER_EXTRA_STAT(rx_normal_irq_n[6]),
ETHER_EXTRA_STAT(rx_normal_irq_n[7]),
ETHER_EXTRA_STAT(rx_normal_irq_n[8]),
ETHER_EXTRA_STAT(rx_normal_irq_n[9]),
ETHER_EXTRA_STAT(link_disconnect_count),
ETHER_EXTRA_STAT(link_connect_count),
};