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>
This commit is contained in:
parent
d3af9dd04f
commit
58933c643f
|
@ -838,13 +838,13 @@ struct ucc_geth_hardware_statistics {
|
||||||
using the maximum is
|
using the maximum is
|
||||||
easier */
|
easier */
|
||||||
#define UCC_GETH_SEND_QUEUE_QUEUE_DESCRIPTOR_ALIGNMENT 32
|
#define UCC_GETH_SEND_QUEUE_QUEUE_DESCRIPTOR_ALIGNMENT 32
|
||||||
#define UCC_GETH_SCHEDULER_ALIGNMENT 4 /* This is a guess */
|
#define UCC_GETH_SCHEDULER_ALIGNMENT 8 /* This is a guess */
|
||||||
#define UCC_GETH_TX_STATISTICS_ALIGNMENT 4 /* This is a guess */
|
#define UCC_GETH_TX_STATISTICS_ALIGNMENT 4 /* This is a guess */
|
||||||
#define UCC_GETH_RX_STATISTICS_ALIGNMENT 4 /* This is a guess */
|
#define UCC_GETH_RX_STATISTICS_ALIGNMENT 4 /* This is a guess */
|
||||||
#define UCC_GETH_RX_INTERRUPT_COALESCING_ALIGNMENT 64
|
#define UCC_GETH_RX_INTERRUPT_COALESCING_ALIGNMENT 64
|
||||||
#define UCC_GETH_RX_BD_QUEUES_ALIGNMENT 8 /* This is a guess */
|
#define UCC_GETH_RX_BD_QUEUES_ALIGNMENT 8 /* This is a guess */
|
||||||
#define UCC_GETH_RX_PREFETCHED_BDS_ALIGNMENT 128 /* This is a guess */
|
#define UCC_GETH_RX_PREFETCHED_BDS_ALIGNMENT 128 /* This is a guess */
|
||||||
#define UCC_GETH_RX_EXTENDED_FILTERING_GLOBAL_PARAMETERS_ALIGNMENT 4 /* This
|
#define UCC_GETH_RX_EXTENDED_FILTERING_GLOBAL_PARAMETERS_ALIGNMENT 8 /* This
|
||||||
is a
|
is a
|
||||||
guess
|
guess
|
||||||
*/
|
*/
|
||||||
|
@ -899,16 +899,17 @@ struct ucc_geth_hardware_statistics {
|
||||||
#define UCC_GETH_UTFS_INIT 512 /* Tx virtual FIFO size
|
#define UCC_GETH_UTFS_INIT 512 /* Tx virtual FIFO size
|
||||||
*/
|
*/
|
||||||
#define UCC_GETH_UTFET_INIT 256 /* 1/2 utfs */
|
#define UCC_GETH_UTFET_INIT 256 /* 1/2 utfs */
|
||||||
#define UCC_GETH_UTFTT_INIT 128
|
#define UCC_GETH_UTFTT_INIT 512
|
||||||
/* Gigabit Ethernet (1000 Mbps) */
|
/* Gigabit Ethernet (1000 Mbps) */
|
||||||
#define UCC_GETH_URFS_GIGA_INIT 4096/*2048*/ /* Rx virtual
|
#define UCC_GETH_URFS_GIGA_INIT 4096/*2048*/ /* Rx virtual
|
||||||
FIFO size */
|
FIFO size */
|
||||||
#define UCC_GETH_URFET_GIGA_INIT 2048/*1024*/ /* 1/2 urfs */
|
#define UCC_GETH_URFET_GIGA_INIT 2048/*1024*/ /* 1/2 urfs */
|
||||||
#define UCC_GETH_URFSET_GIGA_INIT 3072/*1536*/ /* 3/4 urfs */
|
#define UCC_GETH_URFSET_GIGA_INIT 3072/*1536*/ /* 3/4 urfs */
|
||||||
#define UCC_GETH_UTFS_GIGA_INIT 8192/*2048*/ /* Tx virtual
|
#define UCC_GETH_UTFS_GIGA_INIT 4096/*2048*/ /* Tx virtual
|
||||||
|
FIFO size */
|
||||||
|
#define UCC_GETH_UTFET_GIGA_INIT 2048/*1024*/ /* 1/2 utfs */
|
||||||
|
#define UCC_GETH_UTFTT_GIGA_INIT 4096/*0x40*/ /* Tx virtual
|
||||||
FIFO size */
|
FIFO size */
|
||||||
#define UCC_GETH_UTFET_GIGA_INIT 4096/*1024*/ /* 1/2 utfs */
|
|
||||||
#define UCC_GETH_UTFTT_GIGA_INIT 0x400/*0x40*/ /* */
|
|
||||||
|
|
||||||
#define UCC_GETH_REMODER_INIT 0 /* bits that must be
|
#define UCC_GETH_REMODER_INIT 0 /* bits that must be
|
||||||
set */
|
set */
|
||||||
|
|
Loading…
Reference in a new issue