mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-07-17 06:48:07 +00:00
6203cbca5c
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
48 lines
1.8 KiB
Diff
48 lines
1.8 KiB
Diff
From 57961c5a47473e6a6aa03292828484bb2d293f04 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?fran=C3=A7ois=20romieu?= <romieu@fr.zoreil.com>
|
|
Date: Wed, 20 Jun 2012 12:09:18 +0000
|
|
Subject: [PATCH 23/73] r8169: RxConfig hack for the 8168evl.
|
|
|
|
commit eb2dc35d99028b698cdedba4f5522bc43e576bd2 upstream.
|
|
|
|
The 8168evl (RTL_GIGA_MAC_VER_34) based Gigabyte GA-990FXA motherboards
|
|
are very prone to NETDEV watchdog problems without this change. See
|
|
https://bugzilla.kernel.org/show_bug.cgi?id=42899 for instance.
|
|
|
|
I don't know why it *works*. It's depressingly effective though.
|
|
|
|
For the record:
|
|
- the problem may go along IOMMU (AMD-Vi) errors but it really looks
|
|
like a red herring.
|
|
- the patch sets the RX_MULTI_EN bit. If the 8168c doc is any guide,
|
|
the chipset now fetches several Rx descriptors at a time.
|
|
- long ago the driver ignored the RX_MULTI_EN bit.
|
|
e542a2269f232d61270ceddd42b73a4348dee2bb changed the RxConfig
|
|
settings. Whatever the problem it's now labeled a regression.
|
|
- Realtek's own driver can identify two different 8168evl devices
|
|
(CFG_METHOD_16 and CFG_METHOD_17) where the r8169 driver only
|
|
sees one. It sucks.
|
|
|
|
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
|
---
|
|
drivers/net/ethernet/realtek/r8169.c | 1 +
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
|
|
index 9e61d6b..ed1be8a 100644
|
|
--- a/drivers/net/ethernet/realtek/r8169.c
|
|
+++ b/drivers/net/ethernet/realtek/r8169.c
|
|
@@ -3770,6 +3770,7 @@ static void rtl_init_rxcfg(struct rtl8169_private *tp)
|
|
case RTL_GIGA_MAC_VER_22:
|
|
case RTL_GIGA_MAC_VER_23:
|
|
case RTL_GIGA_MAC_VER_24:
|
|
+ case RTL_GIGA_MAC_VER_34:
|
|
RTL_W32(RxConfig, RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST);
|
|
break;
|
|
default:
|
|
--
|
|
1.7.7.6
|
|
|