[net-next v4 2/8] dpaa_eth: add support for DPAA Ethernet

Joakim Tjernlund joakim.tjernlund at transmode.se
Tue Nov 3 22:23:14 AEDT 2015


On Tue, 2015-11-03 at 09:37 +0000, Madalin-Cristian Bucur wrote:
> > -----Original Message-----
> > From: Joakim Tjernlund [mailto:joakim.tjernlund at transmode.se]
> > 
> > On Mon, 2015-11-02 at 19:31 +0200, Madalin Bucur wrote:
> > > +       if (unlikely(fd_status & FM_FD_STAT_RX_ERRORS) != 0) {
> > > +               if (net_ratelimit())
> > > +                       netif_warn(priv, hw, net_dev, "FD status =
> > 0x%08x\n",
> > > +                                  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.
> > 
> >  Jocke
> 
> Hi 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


More information about the Linuxppc-dev mailing list