forked from Minki/linux
jme: Fix FIFO flush issue
Set the RX FIFO flush watermark lower. According to Federico and JMicron's reply, setting it to 16QW would be stable on most platforms. Otherwise, user might experience packet drop issue. CC: stable@kernel.org Reported-by: Federico Quagliata <federico@quagliata.org> Fixed-by: Federico Quagliata <federico@quagliata.org> Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
597cdbc223
commit
ba9adbe67e
@ -2328,19 +2328,11 @@ jme_change_mtu(struct net_device *netdev, int new_mtu)
|
||||
((new_mtu) < IPV6_MIN_MTU))
|
||||
return -EINVAL;
|
||||
|
||||
if (new_mtu > 4000) {
|
||||
jme->reg_rxcs &= ~RXCS_FIFOTHNP;
|
||||
jme->reg_rxcs |= RXCS_FIFOTHNP_64QW;
|
||||
jme_restart_rx_engine(jme);
|
||||
} else {
|
||||
jme->reg_rxcs &= ~RXCS_FIFOTHNP;
|
||||
jme->reg_rxcs |= RXCS_FIFOTHNP_128QW;
|
||||
jme_restart_rx_engine(jme);
|
||||
}
|
||||
|
||||
netdev->mtu = new_mtu;
|
||||
netdev_update_features(netdev);
|
||||
|
||||
jme_restart_rx_engine(jme);
|
||||
jme_reset_link(jme);
|
||||
|
||||
return 0;
|
||||
|
@ -730,7 +730,7 @@ enum jme_rxcs_values {
|
||||
RXCS_RETRYCNT_60 = 0x00000F00,
|
||||
|
||||
RXCS_DEFAULT = RXCS_FIFOTHTP_128T |
|
||||
RXCS_FIFOTHNP_128QW |
|
||||
RXCS_FIFOTHNP_16QW |
|
||||
RXCS_DMAREQSZ_128B |
|
||||
RXCS_RETRYGAP_256ns |
|
||||
RXCS_RETRYCNT_32,
|
||||
|
Loading…
Reference in New Issue
Block a user