Re: [patch 1/1] r8169 driver: corega support
I demand that Francois Romieu may or may not have written... Darren Salt [EMAIL PROTECTED] : [...] It does, but the patch causes the module to report that the reset failed even after reporting that it's done. A fix for this is attached. Oops. Ok with the one below? Yes. [snip patch] -- | Darren Salt| linux or ds at | nr. Ashington, | Toon | RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army | + Output less CO2 = avoid massive flooding.TIME IS RUNNING OUT *FAST*. Wagner's music is better than it sounds. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [patch 1/1] r8169 driver: corega support
I demand that Francois Romieu may or may not have written... [EMAIL PROTECTED] [EMAIL PROTECTED] : [Corega adapter support] It's queued in the r8169 branch at: git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6.git r8169 I have sent Jeff a pull request for it (and I'll probably send one more for the patch below). Darren, can you check if the patch below fixes you link detection issue ? It does, but the patch causes the module to report that the reset failed even after reporting that it's done. A fix for this is attached. -- | Darren Salt| linux or ds at | nr. Ashington, | Toon | RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army | + Generate power using sun, wind, water, nuclear. FORGET COAL AND OIL. Life is what happens when you're busy making other plans. Avoid reporting that the PHY reset has failed when it's just succeeded. Signed-off-by: Darren Salt [EMAIL PROTECTED] diff a/drivers/net/r8169.c b/drivers/net/r8169.c --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -1452,7 +1452,7 @@ static void rtl8169_release_board(struct for (i = 0; i 100; i++) { if (!tp-phy_reset_pending(ioaddr)) { printk(KERN_INFO %s: PHY reset done.\n, dev-name); - break; + return; } msleep(1); }
Re: [patch 1/1] r8169 driver: corega support
Darren Salt [EMAIL PROTECTED] : [...] It does, but the patch causes the module to report that the reset failed even after reporting that it's done. A fix for this is attached. Oops. Ok with the one below ? r8169: perform a PHY reset before any other operation at boot time Realtek's 8139/810x (0x8136) PCI-E comes with a touchy PHY. A big heavy reset seems to calm it down. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7378. Signed-off-by: Francois Romieu [EMAIL PROTECTED] Signed-off-by: Darren Salt [EMAIL PROTECTED] --- drivers/net/r8169.c | 18 ++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index c2c9a86..03c0dc5 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -1442,6 +1442,22 @@ static void rtl8169_release_board(struct free_netdev(dev); } +static void rtl8169_phy_reset(struct net_device *dev, + struct rtl8169_private *tp) +{ + void __iomem *ioaddr = tp-mmio_addr; + int i; + + tp-phy_reset_enable(ioaddr); + for (i = 0; i 100; i++) { + if (!tp-phy_reset_pending(ioaddr)) + return; + msleep(1); + } + if (netif_msg_link(tp)) + printk(KERN_ERR %s: PHY reset failed.\n, dev-name); +} + static void rtl8169_init_phy(struct net_device *dev, struct rtl8169_private *tp) { void __iomem *ioaddr = tp-mmio_addr; @@ -1470,6 +1486,8 @@ static void rtl8169_init_phy(struct net_ rtl8169_link_option(board_idx, autoneg, speed, duplex); + rtl8169_phy_reset(dev, tp); + rtl8169_set_speed(dev, autoneg, speed, duplex); if ((RTL_R8(PHYstatus) TBI_Enable) netif_msg_link(tp)) -- 1.4.2.3 - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [patch 1/1] r8169 driver: corega support
[EMAIL PROTECTED] [EMAIL PROTECTED] : [Corega adapter support] It's queued in the r8169 branch at: git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6.git r8169 I have sent Jeff a pull request for it (and I'll probably send one more for the patch below). Darren, can you check if the patch below fixes you link detection issue ? From 6c94bf2ee2c932418bfe95d18460fb503f549659 Mon Sep 17 00:00:00 2001 From: Francois Romieu [EMAIL PROTECTED] Date: Fri, 20 Oct 2006 23:10:14 +0200 Subject: [PATCH] r8169: perform a PHY reset before any other operation at boot time Realtek's 8139/810x (0x8136) PCI-E comes with a touchy PHY. A big heavy reset seems to calm it down. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7378. Signed-off-by: Francois Romieu [EMAIL PROTECTED] --- drivers/net/r8169.c | 19 +++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index c2c9a86..e3d0679 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -1442,6 +1442,23 @@ static void rtl8169_release_board(struct free_netdev(dev); } +static void rtl8169_phy_reset(struct net_device *dev, + struct rtl8169_private *tp) +{ + void __iomem *ioaddr = tp-mmio_addr; + int i; + + tp-phy_reset_enable(ioaddr); + for (i = 0; i 100; i++) { + if (!tp-phy_reset_pending(ioaddr)) { + printk(KERN_INFO %s: PHY reset done.\n, dev-name); + break; + } + msleep(1); + } + printk(KERN_ERR %s: PHY reset failed.\n, dev-name); +} + static void rtl8169_init_phy(struct net_device *dev, struct rtl8169_private *tp) { void __iomem *ioaddr = tp-mmio_addr; @@ -1470,6 +1487,8 @@ static void rtl8169_init_phy(struct net_ rtl8169_link_option(board_idx, autoneg, speed, duplex); + rtl8169_phy_reset(dev, tp); + rtl8169_set_speed(dev, autoneg, speed, duplex); if ((RTL_R8(PHYstatus) TBI_Enable) netif_msg_link(tp)) -- 1.4.2.3 - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html