OSDN Git Service

net: gianfar: Implement rx_missed_errors counter
authorEsben Haabendal <esben@geanix.com>
Thu, 17 Jun 2021 09:49:28 +0000 (11:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Jun 2021 18:39:48 +0000 (11:39 -0700)
commit14870b75fe0be5c565339f008ba25326f86a7ce8
tree258a2f07982f0fa8a7f9bd9cf4632cff349b1cdc
parent8da32a1071af4af7723269ad4e84cc6160e2dc41
net: gianfar: Implement rx_missed_errors counter

Devices with RMON support has a 16-bit RDRP counter.  It provides: "Receive
dropped packets counter. Increments for frames received which are streamed
to system but are later dropped due to lack of system resources."

To handle more than 2^16 dropped packets, a carry bit in CAR1 register is
set on overflow, so we enable irq when this is set, extending the counter
to 2^64 for handling situations where lots of packets are missed (e.g.
during heavy network storms).

Signed-off-by: Esben Haabendal <esben@geanix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/gianfar.c
drivers/net/ethernet/freescale/gianfar.h