r8169: workaround against ignored TxPoll writes (8168)
authorFrancois Romieu <romieu@fr.zoreil.com>
Sun, 26 Aug 2007 18:08:19 +0000 (20:08 +0200)
committerFrancois Romieu <romieu@electric-eye.fr.zoreil.com>
Wed, 19 Sep 2007 19:52:18 +0000 (21:52 +0200)
commitd78ae2dcc2acebb9a1048278f47f762c069db75c
treeef8c8ec2736e5ce567e5c20287bc11dd4d4ed064
parent65d916d95314566f426cc40ff0f17b754a773b0b
r8169: workaround against ignored TxPoll writes (8168)

The 8168 ignores the requests to fetch the Tx descriptors when
the relevant TxPoll bit is already set. It easily kills the
performances of the 8168. David Gundersen has noticed that it
is enough to wait for the completion of the DMA transfer (NPQ
bit is cleared) before writing the TxPoll register again.

The extra IO traffic added by the proposed workaround could be
minimalized but it is not a high-priority task.

Fix for:
http://bugzilla.kernel.org/show_bug.cgi?id=7924
http://bugzilla.kernel.org/show_bug.cgi?id=8688
(http://bugzilla.kernel.org/show_bug.cgi?id=7555 ?)

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: David Gundersen <gundy@iinet.net.au>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
drivers/net/r8169.c