[PATCH] Fix 8139too ring size for dreamcast/embedded

From: Paul Mundt
Date: Tue May 11 2004 - 07:55:21 EST


Presently 2.6.6 backs out the CONFIG_8139_RXBUF_IDX in favor of using a
hardcoded 8139_RXBUF_IDX (again). This seems to have been done due to
some issues occuring with 8139_RXBUF_IDX == 3, however (as the Kconfig
pointed out), we still need 8139_RXBUF_IDX == 1 in the CONFIG_SH_DREAMCAST
case.

The patch which made this change can be seen at:

http://linux.bkbits.net:8080/linux-2.5/user=shemminger/cset@xxxxxxxxxxxxx?nav=!-|index.html|stats|!+|index.html|ChangeSet@-8w

Before that, CONFIG_8139_RXBUF_IDX was set to 1 both in the CONFIG_SH_DREAMCAST
and CONFIG_EMBEDDED cases. This patch adds that back into the current 8139too.

Additionally, why remove the config option at all? Wouldn't it just be
easier to drop the range from 0 - 3 to 0 - 2 until problems with a 64K ring
size are resolved?

--- linux-2.6.6/drivers/net/8139too.c.orig Tue May 11 08:36:24 2004
+++ linux-2.6.6/drivers/net/8139too.c Tue May 11 08:36:29 2004
@@ -171,7 +171,11 @@
* Receive ring size
* Warning: 64K ring has hardware issues and may lock up.
*/
+#if defined(CONFIG_SH_DREAMCAST) || defined(CONFIG_EMBEDDED)
+#define RX_BUF_IDX 1 /* 16K ring */
+#else
#define RX_BUF_IDX 2 /* 32K ring */
+#endif
#define RX_BUF_LEN (8192 << RX_BUF_IDX)
#define RX_BUF_PAD 16
#define RX_BUF_WRAP_PAD 2048 /* spare padding to handle lack of packet wrap */

Attachment: pgp00000.pgp
Description: PGP signature