ravb: remove undocumented counter processing

This patch removes the use of the undocumented counter registers
CDCR, LCCR, CERCR, CEECR.

Offsets used for undocumented registers are considered reserved and
should not be written to. After some internal investigation with Renesas
it remains unclear why this driver accesses these fields but regardless of
what the historical reasons are the current code is considered incorrect.

Based on work by Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Simon Horman 2019-09-05 17:10:57 +02:00 committed by David S. Miller
parent 845e4b8014
commit 009a470365
2 changed files with 0 additions and 13 deletions

View file

@ -194,15 +194,11 @@ enum ravb_reg {
MAHR = 0x05c0,
MALR = 0x05c8,
TROCR = 0x0700, /* Undocumented? */
CDCR = 0x0708, /* Undocumented? */
LCCR = 0x0710, /* Undocumented? */
CEFCR = 0x0740,
FRECR = 0x0748,
TSFRCR = 0x0750,
TLFRCR = 0x0758,
RFCR = 0x0760,
CERCR = 0x0768, /* Undocumented? */
CEECR = 0x0770, /* Undocumented? */
MAFCR = 0x0778,
};

View file

@ -1629,15 +1629,6 @@ static struct net_device_stats *ravb_get_stats(struct net_device *ndev)
nstats->tx_dropped += ravb_read(ndev, TROCR);
ravb_write(ndev, 0, TROCR); /* (write clear) */
nstats->collisions += ravb_read(ndev, CDCR);
ravb_write(ndev, 0, CDCR); /* (write clear) */
nstats->tx_carrier_errors += ravb_read(ndev, LCCR);
ravb_write(ndev, 0, LCCR); /* (write clear) */
nstats->tx_carrier_errors += ravb_read(ndev, CERCR);
ravb_write(ndev, 0, CERCR); /* (write clear) */
nstats->tx_carrier_errors += ravb_read(ndev, CEECR);
ravb_write(ndev, 0, CEECR); /* (write clear) */
nstats->rx_packets = stats0->rx_packets + stats1->rx_packets;
nstats->tx_packets = stats0->tx_packets + stats1->tx_packets;