Message ID | 1259309803-5474-1-git-send-email-daveliu@freescale.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Kumar Gala |
Headers | show |
On Fri, Nov 27, 2009 at 04:16:43PM +0800, Dave Liu wrote: > 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> Thanks Dave! I see that the new values actually match the QEIWRM spec (except UTFS... spec recommends 2048, but it also says that it might differ for different memory setups, though that's a separate issue). And FWIW, I did some quick netperf tests on MPC8360, and the patch doesn't cause any problems.
> On Fri, Nov 27, 2009 at 04:16:43PM +0800, Dave Liu wrote: > > 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> > > Thanks Dave! I see that the new values actually match the QEIWRM > spec (except UTFS... spec recommends 2048, but it also says that > it might differ for different memory setups, though that's a > separate issue). > > And FWIW, I did some quick netperf tests on MPC8360, and the > patch doesn't cause any problems. David, How about this patch? Please consider to pick it up to your tree. Thanks, Dave
From: "Liu Dave-R63238" <r63238@freescale.com> Date: Mon, 4 Jan 2010 11:42:30 +0800 > How about this patch? Please consider to pick it up to your tree. It's not in my inbox nor is it in the patchwork networking queue, so it must be formally resubmitted in order to be included.
diff --git a/drivers/net/ucc_geth.h b/drivers/net/ucc_geth.h index 03a6ca0..26a43ed 100644 --- a/drivers/net/ucc_geth.h +++ b/drivers/net/ucc_geth.h @@ -838,13 +838,13 @@ struct ucc_geth_hardware_statistics { using the maximum is easier */ #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_RX_STATISTICS_ALIGNMENT 4 /* This is a guess */ #define UCC_GETH_RX_INTERRUPT_COALESCING_ALIGNMENT 64 #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_EXTENDED_FILTERING_GLOBAL_PARAMETERS_ALIGNMENT 4 /* This +#define UCC_GETH_RX_EXTENDED_FILTERING_GLOBAL_PARAMETERS_ALIGNMENT 8 /* This is a guess */ @@ -899,16 +899,17 @@ struct ucc_geth_hardware_statistics { #define UCC_GETH_UTFS_INIT 512 /* Tx virtual FIFO size */ #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) */ #define UCC_GETH_URFS_GIGA_INIT 4096/*2048*/ /* Rx virtual FIFO size */ #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_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 */ -#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 set */
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> --- drivers/net/ucc_geth.h | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-)