]>
Commit | Line | Data |
---|---|---|
25940e12 GKH |
1 | From ba9adbe67e288823ac1deb7f11576ab5653f833e Mon Sep 17 00:00:00 2001 |
2 | From: Guo-Fu Tseng <cooldavid@cooldavid.org> | |
3 | Date: Wed, 22 Feb 2012 08:58:10 +0000 | |
4 | Subject: jme: Fix FIFO flush issue | |
5 | ||
6 | From: Guo-Fu Tseng <cooldavid@cooldavid.org> | |
7 | ||
8 | commit ba9adbe67e288823ac1deb7f11576ab5653f833e upstream. | |
9 | ||
10 | Set the RX FIFO flush watermark lower. | |
11 | According to Federico and JMicron's reply, | |
12 | setting it to 16QW would be stable on most platforms. | |
13 | Otherwise, user might experience packet drop issue. | |
14 | ||
15 | Reported-by: Federico Quagliata <federico@quagliata.org> | |
16 | Fixed-by: Federico Quagliata <federico@quagliata.org> | |
17 | Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> | |
18 | Signed-off-by: David S. Miller <davem@davemloft.net> | |
19 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
20 | ||
21 | --- | |
22 | drivers/net/jme.c | 10 +--------- | |
23 | drivers/net/jme.h | 2 +- | |
24 | 2 files changed, 2 insertions(+), 10 deletions(-) | |
25 | ||
26 | --- a/drivers/net/jme.c | |
27 | +++ b/drivers/net/jme.c | |
28 | @@ -2228,19 +2228,11 @@ jme_change_mtu(struct net_device *netdev | |
29 | ((new_mtu) < IPV6_MIN_MTU)) | |
30 | return -EINVAL; | |
31 | ||
32 | - if (new_mtu > 4000) { | |
33 | - jme->reg_rxcs &= ~RXCS_FIFOTHNP; | |
34 | - jme->reg_rxcs |= RXCS_FIFOTHNP_64QW; | |
35 | - jme_restart_rx_engine(jme); | |
36 | - } else { | |
37 | - jme->reg_rxcs &= ~RXCS_FIFOTHNP; | |
38 | - jme->reg_rxcs |= RXCS_FIFOTHNP_128QW; | |
39 | - jme_restart_rx_engine(jme); | |
40 | - } | |
41 | ||
42 | netdev->mtu = new_mtu; | |
43 | netdev_update_features(netdev); | |
44 | ||
45 | + jme_restart_rx_engine(jme); | |
46 | jme_reset_link(jme); | |
47 | ||
48 | return 0; | |
49 | --- a/drivers/net/jme.h | |
50 | +++ b/drivers/net/jme.h | |
51 | @@ -734,7 +734,7 @@ enum jme_rxcs_values { | |
52 | RXCS_RETRYCNT_60 = 0x00000F00, | |
53 | ||
54 | RXCS_DEFAULT = RXCS_FIFOTHTP_128T | | |
55 | - RXCS_FIFOTHNP_128QW | | |
56 | + RXCS_FIFOTHNP_16QW | | |
57 | RXCS_DMAREQSZ_128B | | |
58 | RXCS_RETRYGAP_256ns | | |
59 | RXCS_RETRYCNT_32, |