/* bitmapped message enable number */
static int debug = -1;
-/* Ring size is now a config option */
-#define RX_BUF_LEN (8192 << CONFIG_8139_RXBUF_IDX)
+/*
+ * Receive ring size
+ * Warning: 64K ring has hardware issues and may lock up.
+ */
+#define RX_BUF_IDX 2 /* 32K ring */
+#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 */
PCIErr | PCSTimeout | RxUnderrun |
TxErr | TxOK | RxErr ;
-#if CONFIG_8139_RXBUF_IDX == 0
+#if RX_BUF_IDX == 0
static const unsigned int rtl8139_rx_config =
RxCfgRcv8K | RxNoWrap |
(RX_FIFO_THRESH << RxCfgFIFOShift) |
(RX_DMA_BURST << RxCfgDMAShift);
-#elif CONFIG_8139_RXBUF_IDX == 1
+#elif RX_BUF_IDX == 1
static const unsigned int rtl8139_rx_config =
RxCfgRcv16K | RxNoWrap |
(RX_FIFO_THRESH << RxCfgFIFOShift) |
(RX_DMA_BURST << RxCfgDMAShift);
-#elif CONFIG_8139_RXBUF_IDX == 2
+#elif RX_BUF_IDX == 2
static const unsigned int rtl8139_rx_config =
RxCfgRcv32K | RxNoWrap |
(RX_FIFO_THRESH << RxCfgFIFOShift) |
(RX_DMA_BURST << RxCfgDMAShift);
-#elif CONFIG_8139_RXBUF_IDX == 3
+#elif RX_BUF_IDX == 3
static const unsigned int rtl8139_rx_config =
RxCfgRcv64K |
(RX_FIFO_THRESH << RxCfgFIFOShift) |
#endif
}
-#if CONFIG_8139_RXBUF_IDX == 3
+#if RX_BUF_IDX == 3
static __inline__ void wrap_copy(struct sk_buff *skb, const unsigned char *ring,
u32 offset, unsigned int size)
{
if (likely(skb)) {
skb->dev = dev;
skb_reserve (skb, 2); /* 16 byte align the IP fields. */
-#if CONFIG_8139_RXBUF_IDX == 3
+#if RX_BUF_IDX == 3
wrap_copy(skb, rx_ring, ring_offset+4, pkt_size);
#else
eth_copy_and_sum (skb, &rx_ring[ring_offset + 4], pkt_size, 0);
experience problems, you can enable this option to restore the
old RX-reset behavior. If unsure, say N.
-config 8139_RXBUF_IDX
- int "Receive ring size (0 => 8K, 1 => 16K, 2 => 32K, 3 => 64K)"
- depends on 8139TOO
- range 0 3
- default 1 if EMBEDDED || SH_DREAMCAST
- default 2
- help
- The 8139too driver has a fixed area of memory for receiving data.
- The default value is adequate for most systems. The 64KB
- ring size has hardware issues that may cause problems.
- Values:
- 0 => 8 KB
- 1 => 16 KB embedded systems
- 2 => 32 KB default for most systems
- 3 => 64 KB
- If unsure, use the default 2.
-
-
config SIS900
tristate "SiS 900/7016 PCI Fast Ethernet Adapter support"
depends on NET_PCI && PCI