* [PATCH 1/4] skge: turn carrier off when down
2007-04-07 23:02 [PATCH 0/4] skge/sky2 patches for 2.6.21 Stephen Hemminger
@ 2007-04-07 23:02 ` Stephen Hemminger
2007-04-11 15:54 ` Jeff Garzik
2007-04-07 23:02 ` [PATCH 2/4] sky2: " Stephen Hemminger
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:02 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
[-- Attachment #1: skge-carrier.patch --]
[-- Type: text/plain, Size: 627 bytes --]
Driver needs to turn off carrier when down, otherwise it can
confuse bonding and bridging and looks like carrier is on immediately
when it is brought back up.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
--- netdev-2.6.orig/drivers/net/skge.c 2007-04-07 15:09:13.000000000 -0700
+++ netdev-2.6/drivers/net/skge.c 2007-04-07 15:09:58.000000000 -0700
@@ -2535,6 +2535,7 @@
printk(KERN_INFO PFX "%s: disabling interface\n", dev->name);
netif_stop_queue(dev);
+ netif_carrier_off(dev);
if (hw->chip_id == CHIP_ID_GENESIS && hw->phy_type == SK_PHY_XMAC)
del_timer_sync(&skge->link_timer);
--
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 1/4] skge: turn carrier off when down
2007-04-07 23:02 ` [PATCH 1/4] skge: turn carrier off when down Stephen Hemminger
@ 2007-04-11 15:54 ` Jeff Garzik
0 siblings, 0 replies; 7+ messages in thread
From: Jeff Garzik @ 2007-04-11 15:54 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev
Stephen Hemminger wrote:
> Driver needs to turn off carrier when down, otherwise it can
> confuse bonding and bridging and looks like carrier is on immediately
> when it is brought back up.
>
> Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
>
> --- netdev-2.6.orig/drivers/net/skge.c 2007-04-07 15:09:13.000000000 -0700
> +++ netdev-2.6/drivers/net/skge.c 2007-04-07 15:09:58.000000000 -0700
> @@ -2535,6 +2535,7 @@
> printk(KERN_INFO PFX "%s: disabling interface\n", dev->name);
>
> netif_stop_queue(dev);
> + netif_carrier_off(dev);
> if (hw->chip_id == CHIP_ID_GENESIS && hw->phy_type == SK_PHY_XMAC)
> del_timer_sync(&skge->link_timer);
>
>
applied 1-4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/4] sky2: turn carrier off when down
2007-04-07 23:02 [PATCH 0/4] skge/sky2 patches for 2.6.21 Stephen Hemminger
2007-04-07 23:02 ` [PATCH 1/4] skge: turn carrier off when down Stephen Hemminger
@ 2007-04-07 23:02 ` Stephen Hemminger
2007-04-07 23:02 ` [PATCH 3/4] sky2: turn on clocks when doing resume Stephen Hemminger
2007-04-07 23:02 ` [PATCH 4/4] sky2: phy workarounds for Yukon EC-U A1 Stephen Hemminger
3 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:02 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
[-- Attachment #1: sky2-carrier.patch --]
[-- Type: text/plain, Size: 445 bytes --]
Driver needs to turn off carrier when down.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
--- netdev-2.6.orig/drivers/net/sky2.c 2007-04-07 15:11:02.000000000 -0700
+++ netdev-2.6/drivers/net/sky2.c 2007-04-07 15:11:21.000000000 -0700
@@ -1561,6 +1561,7 @@
/* Stop more packets from being queued */
netif_stop_queue(dev);
+ netif_carrier_off(dev);
/* Disable port IRQ */
imask = sky2_read32(hw, B0_IMSK);
--
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/4] sky2: turn on clocks when doing resume
2007-04-07 23:02 [PATCH 0/4] skge/sky2 patches for 2.6.21 Stephen Hemminger
2007-04-07 23:02 ` [PATCH 1/4] skge: turn carrier off when down Stephen Hemminger
2007-04-07 23:02 ` [PATCH 2/4] sky2: " Stephen Hemminger
@ 2007-04-07 23:02 ` Stephen Hemminger
2007-04-07 23:02 ` [PATCH 4/4] sky2: phy workarounds for Yukon EC-U A1 Stephen Hemminger
3 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:02 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
[-- Attachment #1: sky2-ec-clocks-resume.patch --]
[-- Type: text/plain, Size: 636 bytes --]
Some of these chips are disabled until clock is enabled.
This fixes:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=404107
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
--- netdev-2.6.orig/drivers/net/sky2.c 2007-04-07 15:11:48.000000000 -0700
+++ netdev-2.6/drivers/net/sky2.c 2007-04-07 15:12:31.000000000 -0700
@@ -3770,6 +3770,11 @@
goto out;
pci_enable_wake(pdev, PCI_D0, 0);
+
+ /* Re-enable all clocks */
+ if (hw->chip_id == CHIP_ID_YUKON_EX || hw->chip_id == CHIP_ID_YUKON_EC_U)
+ sky2_pci_write32(hw, PCI_DEV_REG3, 0);
+
sky2_reset(hw);
sky2_write32(hw, B0_IMSK, Y2_IS_BASE);
--
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 4/4] sky2: phy workarounds for Yukon EC-U A1
2007-04-07 23:02 [PATCH 0/4] skge/sky2 patches for 2.6.21 Stephen Hemminger
` (2 preceding siblings ...)
2007-04-07 23:02 ` [PATCH 3/4] sky2: turn on clocks when doing resume Stephen Hemminger
@ 2007-04-07 23:02 ` Stephen Hemminger
3 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:02 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
[-- Attachment #1: sky2-ec-u-a1.patch --]
[-- Type: text/plain, Size: 1079 bytes --]
The workaround Yukon EC-U wasn't comparing with correct
version and wasn't doing correct setup. Without it, 88e8056
throws all sorts of errors.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
--- netdev-2.6.orig/drivers/net/sky2.c 2007-04-07 15:12:55.000000000 -0700
+++ netdev-2.6/drivers/net/sky2.c 2007-04-07 15:13:31.000000000 -0700
@@ -510,9 +510,9 @@
ledover &= ~PHY_M_LED_MO_RX;
}
- if (hw->chip_id == CHIP_ID_YUKON_EC_U && hw->chip_rev == CHIP_REV_YU_EC_A1) {
+ if (hw->chip_id == CHIP_ID_YUKON_EC_U &&
+ hw->chip_rev == CHIP_REV_YU_EC_U_A1) {
/* apply fixes in PHY AFE */
- pg = gm_phy_read(hw, port, PHY_MARV_EXT_ADR);
gm_phy_write(hw, port, PHY_MARV_EXT_ADR, 255);
/* increase differential signal amplitude in 10BASE-T */
@@ -524,7 +524,7 @@
gm_phy_write(hw, port, 0x17, 0x2002);
/* set page register to 0 */
- gm_phy_write(hw, port, PHY_MARV_EXT_ADR, pg);
+ gm_phy_write(hw, port, PHY_MARV_EXT_ADR, 0);
} else if (hw->chip_id != CHIP_ID_YUKON_EX) {
gm_phy_write(hw, port, PHY_MARV_LED_CTRL, ledctrl);
--
^ permalink raw reply [flat|nested] 7+ messages in thread