* [PATCH 0/2] Pull request for 'r8169-davem' branch
@ 2008-07-20 18:04 Francois Romieu
2008-07-20 18:05 ` [PATCH 1/2] r8169: multicast register update Francois Romieu
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Francois Romieu @ 2008-07-20 18:04 UTC (permalink / raw)
To: jeff
Cc: netdev, Marcus Sundberg, Johan =?unknown-8bit?Q?Myr=C3=A9en?=,
Edward Hsu, David Miller
Please pull from branch 'r8169-davem' in repository
git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6.git r8169-davem
to get the changes below.
Distance from 'davem' (fb65a7c091529bfffb1262515252c0d0f6241c5c)
----------------------------------------------------------------
77332894c21165404496c56763d7df6c15c4bb09
f887cce8de019bb32917789379af89ae4c0294ee
Diffstat
--------
drivers/net/r8169.c | 14 +++++---------
1 files changed, 5 insertions(+), 9 deletions(-)
Shortlog
--------
Francois Romieu (1):
r8169: multicast register update
Marcus Sundberg (1):
r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06
Patch
-----
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index cfe8829..a3e3895 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -1418,8 +1418,10 @@ static void rtl8169_init_phy(struct net_device *dev, struct rtl8169_private *tp)
rtl_hw_phy_config(dev);
- dprintk("Set MAC Reg C+CR Offset 0x82h = 0x01h\n");
- RTL_W8(0x82, 0x01);
+ if (tp->mac_version <= RTL_GIGA_MAC_VER_06) {
+ dprintk("Set MAC Reg C+CR Offset 0x82h = 0x01h\n");
+ RTL_W8(0x82, 0x01);
+ }
pci_write_config_byte(tp->pci_dev, PCI_LATENCY_TIMER, 0x40);
@@ -3032,13 +3034,7 @@ static void rtl_set_rx_mode(struct net_device *dev)
tmp = rtl8169_rx_config | rx_mode |
(RTL_R32(RxConfig) & rtl_chip_info[tp->chipset].RxConfigMask);
- if ((tp->mac_version == RTL_GIGA_MAC_VER_11) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_12) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_13) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_14) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_15) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_16) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_17)) {
+ if (tp->mac_version > RTL_GIGA_MAC_VER_06) {
u32 data = mc_filter[0];
mc_filter[0] = swab32(mc_filter[1]);
--
Ueimor
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 1/2] r8169: multicast register update
2008-07-20 18:04 [PATCH 0/2] Pull request for 'r8169-davem' branch Francois Romieu
@ 2008-07-20 18:05 ` Francois Romieu
2008-07-20 18:06 ` [PATCH 2/2] r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06 Francois Romieu
2008-07-22 20:08 ` netdev repo setup (was Re: [PATCH 0/2] Pull request for 'r8169-davem' branch) Jeff Garzik
2 siblings, 0 replies; 4+ messages in thread
From: Francois Romieu @ 2008-07-20 18:05 UTC (permalink / raw)
To: jeff
Cc: netdev, Marcus Sundberg, Johan =?unknown-8bit?Q?Myr=C3=A9en?=,
Edward Hsu, David Miller
The layout of the 8101 series is identical to that of the 8168 one,
thus allowing to pack everything not 8169 related above MAC_VER_06.
New 810x and 8168 chipsets should automagically behave correctly.
It matches code in Realtek's 1.008.00 8101 and 8.007.00 8168 drivers.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
---
drivers/net/r8169.c | 8 +-------
1 files changed, 1 insertions(+), 7 deletions(-)
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index cfe8829..2a5486f 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -3032,13 +3032,7 @@ static void rtl_set_rx_mode(struct net_device *dev)
tmp = rtl8169_rx_config | rx_mode |
(RTL_R32(RxConfig) & rtl_chip_info[tp->chipset].RxConfigMask);
- if ((tp->mac_version == RTL_GIGA_MAC_VER_11) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_12) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_13) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_14) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_15) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_16) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_17)) {
+ if (tp->mac_version > RTL_GIGA_MAC_VER_06) {
u32 data = mc_filter[0];
mc_filter[0] = swab32(mc_filter[1]);
--
1.5.3.3
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06
2008-07-20 18:04 [PATCH 0/2] Pull request for 'r8169-davem' branch Francois Romieu
2008-07-20 18:05 ` [PATCH 1/2] r8169: multicast register update Francois Romieu
@ 2008-07-20 18:06 ` Francois Romieu
2008-07-22 20:08 ` netdev repo setup (was Re: [PATCH 0/2] Pull request for 'r8169-davem' branch) Jeff Garzik
2 siblings, 0 replies; 4+ messages in thread
From: Francois Romieu @ 2008-07-20 18:06 UTC (permalink / raw)
To: jeff
Cc: netdev, Marcus Sundberg, Johan =?unknown-8bit?Q?Myr=C3=A9en?=,
Edward Hsu, David Miller
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 2010 bytes --]
The magic write to register 0x82 will often cause PCI config space on
my 8168 (PCI ID 10ec:8168, revision 2. mounted in an LG P300 laptop)
to be filled with ones during driver load, and thus breaking NIC
operation until reboot. If it does not happen on first driver load it
can easily be reproduced by unloading and loading the driver a few
times.
The magic write was added long ago by this commit:
Author: François Romieu <romieu@fr.zoreil.com>
Date: Sat Jan 10 06:00:46 2004 -0500
[netdrvr r8169] Merge of changes done by Realtek to rtl8169_init_one():
- phy capability settings allows lower or equal capability as suggested
in Realtek's changes;
- I/O voodoo;
- no need to s/mdio_write/RTL8169_WRITE_GMII_REG/;
- s/rtl8169_hw_PHY_config/rtl8169_hw_phy_config/;
- rtl8169_hw_phy_config(): ad-hoc struct "phy_magic" to limit duplication
of code (yep, the u16 -> int conversions should work as expected);
- variable renames and whitepace changes ignored.
As the 8168 wasn't supported by that version this patch simply removes
the bogus write from mac versions <= RTL_GIGA_MAC_VER_06.
[The change above makes sense for the 8101/8102 too -- Ueimor]
Signed-off-by: Marcus Sundberg <marcus@ingate.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
---
drivers/net/r8169.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 2a5486f..a3e3895 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -1418,8 +1418,10 @@ static void rtl8169_init_phy(struct net_device *dev, struct rtl8169_private *tp)
rtl_hw_phy_config(dev);
- dprintk("Set MAC Reg C+CR Offset 0x82h = 0x01h\n");
- RTL_W8(0x82, 0x01);
+ if (tp->mac_version <= RTL_GIGA_MAC_VER_06) {
+ dprintk("Set MAC Reg C+CR Offset 0x82h = 0x01h\n");
+ RTL_W8(0x82, 0x01);
+ }
pci_write_config_byte(tp->pci_dev, PCI_LATENCY_TIMER, 0x40);
--
1.5.3.3
^ permalink raw reply related [flat|nested] 4+ messages in thread* netdev repo setup (was Re: [PATCH 0/2] Pull request for 'r8169-davem' branch)
2008-07-20 18:04 [PATCH 0/2] Pull request for 'r8169-davem' branch Francois Romieu
2008-07-20 18:05 ` [PATCH 1/2] r8169: multicast register update Francois Romieu
2008-07-20 18:06 ` [PATCH 2/2] r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06 Francois Romieu
@ 2008-07-22 20:08 ` Jeff Garzik
2 siblings, 0 replies; 4+ messages in thread
From: Jeff Garzik @ 2008-07-22 20:08 UTC (permalink / raw)
To: Francois Romieu, netdev
Cc: Marcus Sundberg, Johan Myréen, Edward Hsu, David Miller
Francois Romieu wrote:
> Please pull from branch 'r8169-davem' in repository
>
> git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6.git r8169-davem
pulled
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-07-22 20:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-20 18:04 [PATCH 0/2] Pull request for 'r8169-davem' branch Francois Romieu
2008-07-20 18:05 ` [PATCH 1/2] r8169: multicast register update Francois Romieu
2008-07-20 18:06 ` [PATCH 2/2] r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06 Francois Romieu
2008-07-22 20:08 ` netdev repo setup (was Re: [PATCH 0/2] Pull request for 'r8169-davem' branch) Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).