Re: [net-next v4 2/8] dpaa_eth: add support for DPAA Ethernet
flat view
From: Joakim Tjernlund <hidden>
Date: 2015-11-03 11:23:22
Also in:
linuxppc-dev, lkml
On Tue, 2015-11-03 at 09:37 +0000, Madalin-Cristian Bucur wrote:
quoted
-----Original Message----- From: Joakim Tjernlund [mailto:joakim.tjernlund@transmode.se] On Mon, 2015-11-02 at 19:31 +0200, Madalin Bucur wrote:quoted
+ if (unlikely(fd_status & FM_FD_STAT_RX_ERRORS) != 0) { + if (net_ratelimit()) + netif_warn(priv, hw, net_dev, "FD status =0x%08x\n",quoted
+ fd_status & FM_FD_STAT_RX_ERRORS); + + percpu_stats->rx_errors++; + goto _release_frame; + }I cannot find any detailed error accounting(maybe I am not looking hard enough) but I would appreciate if both TX and RX errors where better accounted(rx_length_errors, rx_frame_errors, rx_crc_errors, rx_fifo_errors etc.). This has helped me many times in the past diagnosing board HW problems. JockeHi Jocke, There are some error counters exported through ethtool (used to be debugfs). FMan HW provides more debug information than we currently export, that will be improved in the future but given the current priority of having a codebase as small and reviewable as possible we had to drop some things from the initial submission.
I know, but ethtool is not always available.
Even the old fec_main.c has it:
if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH | BD_ENET_RX_NO |
BD_ENET_RX_CR | BD_ENET_RX_OV)) {
ndev->stats.rx_errors++;
if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH)) {
/* Frame too long or too short. */
ndev->stats.rx_length_errors++;
}
if (status & BD_ENET_RX_NO) /* Frame alignment */
ndev->stats.rx_frame_errors++;
if (status & BD_ENET_RX_CR) /* CRC Error */
ndev->stats.rx_crc_errors++;
if (status & BD_ENET_RX_OV) /* FIFO overrun */
ndev->stats.rx_fifo_errors++;
}
so it is just a few more lines ... Pretty please ? :)
Jocke