ucc_geth: fix ucc halt problem in half duplex mode
authorYang Li <leoli@freescale.com>
Thu, 25 Nov 2010 23:29:58 +0000 (23:29 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Nov 2010 02:36:57 +0000 (18:36 -0800)
commitd830418e4085d65b3f8bad3216a37bc986ecd17d
treeddb6dd429e12651e1416f477ca10d7d8dc0c77fc
parentb4ff3c90e6066bacc8a92111752fe9e4f4c45cca
ucc_geth: fix ucc halt problem in half duplex mode

In commit 58933c64(ucc_geth: Fix the wrong the Rx/Tx FIFO size),
the UCC_GETH_UTFTT_INIT is set to 512 based on the recommendation
of the QE Reference Manual.  But that will sometimes cause tx halt
while working in half duplex mode.

According to errata draft QE_GENERAL-A003(High Tx Virtual FIFO
threshold size can cause UCC to halt), setting UTFTT less than
[(UTFS x (M - 8)/M) - 128] will prevent this from happening
(M is the minimum buffer size).

The patch changes UTFTT back to 256.

Signed-off-by: Li Yang <leoli@freescale.com>
Cc: Jean-Denis Boyer <jdboyer@media5corp.com>
Cc: Andreas Schmitz <Andreas.Schmitz@riedel.net>
Cc: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ucc_geth.h