Commit 58933c643f86651decc4818cf680f9ec3b0460d2
Committed by
David S. Miller
1 parent
d3af9dd04f
ucc_geth: Fix the wrong the Rx/Tx FIFO size
current the Rx/Tx FIFO size settings cause problem when four UEC ethernets work simultaneously. eg: GETH1, UEM-J15, GETH2, UEC-J5 on 8569MDS board $ ifconfig eth0 10.193.20.166 $ ifconfig eth1 10.193.20.167 $ ifconfig eth2 10.193.20.168 then $ ifconfig eth3 10.193.20.169 The fourth ethernet will cause all of interface broken, you cann't ping successfully any more. The patch fix this issue for MPC8569 Rev1.0 and Rev2.0 Signed-off-by: Dave Liu <daveliu@freescale.com> Acked-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 7 additions and 6 deletions Side-by-side Diff
drivers/net/ucc_geth.h
... | ... | @@ -838,13 +838,13 @@ |
838 | 838 | using the maximum is |
839 | 839 | easier */ |
840 | 840 | #define UCC_GETH_SEND_QUEUE_QUEUE_DESCRIPTOR_ALIGNMENT 32 |
841 | -#define UCC_GETH_SCHEDULER_ALIGNMENT 4 /* This is a guess */ | |
841 | +#define UCC_GETH_SCHEDULER_ALIGNMENT 8 /* This is a guess */ | |
842 | 842 | #define UCC_GETH_TX_STATISTICS_ALIGNMENT 4 /* This is a guess */ |
843 | 843 | #define UCC_GETH_RX_STATISTICS_ALIGNMENT 4 /* This is a guess */ |
844 | 844 | #define UCC_GETH_RX_INTERRUPT_COALESCING_ALIGNMENT 64 |
845 | 845 | #define UCC_GETH_RX_BD_QUEUES_ALIGNMENT 8 /* This is a guess */ |
846 | 846 | #define UCC_GETH_RX_PREFETCHED_BDS_ALIGNMENT 128 /* This is a guess */ |
847 | -#define UCC_GETH_RX_EXTENDED_FILTERING_GLOBAL_PARAMETERS_ALIGNMENT 4 /* This | |
847 | +#define UCC_GETH_RX_EXTENDED_FILTERING_GLOBAL_PARAMETERS_ALIGNMENT 8 /* This | |
848 | 848 | is a |
849 | 849 | guess |
850 | 850 | */ |
851 | 851 | |
852 | 852 | |
... | ... | @@ -899,16 +899,17 @@ |
899 | 899 | #define UCC_GETH_UTFS_INIT 512 /* Tx virtual FIFO size |
900 | 900 | */ |
901 | 901 | #define UCC_GETH_UTFET_INIT 256 /* 1/2 utfs */ |
902 | -#define UCC_GETH_UTFTT_INIT 128 | |
902 | +#define UCC_GETH_UTFTT_INIT 512 | |
903 | 903 | /* Gigabit Ethernet (1000 Mbps) */ |
904 | 904 | #define UCC_GETH_URFS_GIGA_INIT 4096/*2048*/ /* Rx virtual |
905 | 905 | FIFO size */ |
906 | 906 | #define UCC_GETH_URFET_GIGA_INIT 2048/*1024*/ /* 1/2 urfs */ |
907 | 907 | #define UCC_GETH_URFSET_GIGA_INIT 3072/*1536*/ /* 3/4 urfs */ |
908 | -#define UCC_GETH_UTFS_GIGA_INIT 8192/*2048*/ /* Tx virtual | |
908 | +#define UCC_GETH_UTFS_GIGA_INIT 4096/*2048*/ /* Tx virtual | |
909 | 909 | FIFO size */ |
910 | -#define UCC_GETH_UTFET_GIGA_INIT 4096/*1024*/ /* 1/2 utfs */ | |
911 | -#define UCC_GETH_UTFTT_GIGA_INIT 0x400/*0x40*/ /* */ | |
910 | +#define UCC_GETH_UTFET_GIGA_INIT 2048/*1024*/ /* 1/2 utfs */ | |
911 | +#define UCC_GETH_UTFTT_GIGA_INIT 4096/*0x40*/ /* Tx virtual | |
912 | + FIFO size */ | |
912 | 913 | |
913 | 914 | #define UCC_GETH_REMODER_INIT 0 /* bits that must be |
914 | 915 | set */ |