diff options
author | Nguyen Hong Ky <nh-ky@jinso.co.jp> | 2013-10-07 02:29:25 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-10-08 16:03:53 -0400 |
commit | 2c6221e4a5aab417cb18bef6f1130d1374240258 (patch) | |
tree | 0f9e8868afa85cb3cb76ca634cc4939bd5424ec8 /drivers/net | |
parent | 8d8a51e26a6d415e1470759f2cf5f3ee3ee86196 (diff) |
net: sh_eth: Fix RX packets errors on R8A7740
This patch will fix RX packets errors when receiving big size
of data by set bit RNC = 1.
RNC - Receive Enable Control
0: Upon completion of reception of one frame, the E-DMAC writes
the receive status to the descriptor and clears the RR bit in
EDRRR to 0.
1: Upon completion of reception of one frame, the E-DMAC writes
(writes back) the receive status to the descriptor. In addition,
the E-DMAC reads the next descriptor and prepares for reception
of the next frame.
In addition, for get more stable when receiving packets, I set
maximum size for the transmit/receive FIFO and inserts padding
in receive data.
Signed-off-by: Nguyen Hong Ky <nh-ky@jinso.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/renesas/sh_eth.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c index 5cd831ebfa83..c7e1b8f333ed 100644 --- a/drivers/net/ethernet/renesas/sh_eth.c +++ b/drivers/net/ethernet/renesas/sh_eth.c | |||
@@ -620,12 +620,16 @@ static struct sh_eth_cpu_data sh7734_data = { | |||
620 | .eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT | | 620 | .eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT | |
621 | EESR_RFE | EESR_RDE | EESR_RFRMER | EESR_TFE | | 621 | EESR_RFE | EESR_RDE | EESR_RFRMER | EESR_TFE | |
622 | EESR_TDE | EESR_ECI, | 622 | EESR_TDE | EESR_ECI, |
623 | .fdr_value = 0x0000070f, | ||
624 | .rmcr_value = 0x00000001, | ||
623 | 625 | ||
624 | .apr = 1, | 626 | .apr = 1, |
625 | .mpr = 1, | 627 | .mpr = 1, |
626 | .tpauser = 1, | 628 | .tpauser = 1, |
627 | .bculr = 1, | 629 | .bculr = 1, |
628 | .hw_swap = 1, | 630 | .hw_swap = 1, |
631 | .rpadir = 1, | ||
632 | .rpadir_value = 2 << 16, | ||
629 | .no_trimd = 1, | 633 | .no_trimd = 1, |
630 | .no_ade = 1, | 634 | .no_ade = 1, |
631 | .tsu = 1, | 635 | .tsu = 1, |