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:
parent
845e4b8014
commit
009a470365
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue