Thread (5 messages) 5 messages, 3 authors, 2013-02-26

Re: Fw: [Bug 54231] r8169 driver regression caused by the commit aee77e4accbeb2c86b1d294cd84fec4a12dde3bd

From: Francois Romieu <romieu@fr.zoreil.com>
Date: 2013-02-22 23:41:04

Stephen Hemminger [off-list ref] :
[...]
quoted hunk ↗ jump to hunk
https://bugzilla.kernel.org/show_bug.cgi?id=54231
--- Comment #1 from Tomi Orava <tomimo@ncircle.nullnet.fi>  2013-02-22 16:40:49 ---
Although the r8169 has been working just fine on 3.4.31 for the past 5 days, it
seems that I missed the second DMA Burst setting in the previous patch that
should get fixed as well:
[...]
quoted hunk ↗ jump to hunk
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4406,8 +4407,14 @@ static void rtl_set_rx_tx_config_registers(struct
rtl8169_private *tp)
     void __iomem *ioaddr = tp->mmio_addr;

     /* Set DMA burst size and Interframe Gap Time */
-    RTL_W32(TxConfig, (TX_DMA_BURST << TxDMAShift) |
-        (InterFrameGap << TxInterFrameGapShift));
+
+    if (tp->mac_version == RTL_GIGA_MAC_VER_11) {
+        RTL_W32(TxConfig, (TX_DMA_BURST_512 << TxDMAShift) |
+            (InterFrameGap << TxInterFrameGapShift));
+    } else {
+        RTL_W32(TxConfig, (TX_DMA_BURST << TxDMAShift) |
+            (InterFrameGap << TxInterFrameGapShift));
+    }
 }
This one should not be used in the (RTL_CFG_1) 8168 / RTL_GIGA_MAC_VER_11
path.

Tomi, what does lspci say about your 8168b device ?
quoted hunk ↗ jump to hunk
 static void rtl_hw_start(struct net_device *dev)
@@ -5148,8 +5155,13 @@ static void rtl_hw_start_8168(struct net_device *dev)

     rtl_set_rx_mode(dev);

-    RTL_W32(TxConfig, (TX_DMA_BURST << TxDMAShift) |
-        (InterFrameGap << TxInterFrameGapShift));
+    if (tp->mac_version == RTL_GIGA_MAC_VER_11) {
+        RTL_W32(TxConfig, (TX_DMA_BURST_512 << TxDMAShift) |
+            (InterFrameGap << TxInterFrameGapShift));
+    } else {
+        RTL_W32(TxConfig, (TX_DMA_BURST << TxDMAShift) |
+            (InterFrameGap << TxInterFrameGapShift));
+    }
	RTL_W32(TxConfig, (InterFrameGap << TxInterFrameGapShift) |
		(((tp->mac_version == RTL_GIGA_MAC_VER_11) ?
		 TX_DMA_BURST_512 : TX_DMA_BURST) << TxDMAShift));

-- 
Ueimor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help