netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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 ` Stephen Hemminger
  0 siblings, 0 replies; 6+ 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] 6+ messages in thread

* [PATCH 0/4] skge and sky2 patches
@ 2007-04-07 23:42 Stephen Hemminger
  2007-04-07 23:42 ` [PATCH 1/4] skge: turn carrier off when down Stephen Hemminger
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:42 UTC (permalink / raw)
  Cc: stable, netdev

These match the recent patches submitted for 2.6.21

--


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] skge: turn carrier off when down
  2007-04-07 23:42 [PATCH 0/4] skge and sky2 patches Stephen Hemminger
@ 2007-04-07 23:42 ` Stephen Hemminger
  2007-04-07 23:42 ` [PATCH 2/4] sky2: " Stephen Hemminger
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:42 UTC (permalink / raw)
  Cc: stable, netdev

[-- Attachment #1: skge-carrier.patch --]
[-- Type: text/plain, Size: 650 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>

--- linux-2.6.20.y.orig/drivers/net/skge.c	2007-04-07 15:36:05.000000000 -0700
+++ linux-2.6.20.y/drivers/net/skge.c	2007-04-07 15:54:36.000000000 -0700
@@ -2462,6 +2462,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)
 		cancel_rearming_delayed_work(&skge->link_thread);
 

--


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/4] sky2: turn carrier off when down
  2007-04-07 23:42 [PATCH 0/4] skge and sky2 patches Stephen Hemminger
  2007-04-07 23:42 ` [PATCH 1/4] skge: turn carrier off when down Stephen Hemminger
@ 2007-04-07 23:42 ` Stephen Hemminger
  2007-04-07 23:42 ` [PATCH 3/4] sky2: turn on clocks when doing resume Stephen Hemminger
  2007-04-07 23:42 ` [PATCH 4/4] sky2: phy workarounds for Yukon EC-U A1 Stephen Hemminger
  3 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:42 UTC (permalink / raw)
  Cc: stable, netdev

[-- Attachment #1: sky2-carrier.patch --]
[-- Type: text/plain, Size: 453 bytes --]

Driver needs to turn off carrier when down.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>

--- linux-2.6.20.y.orig/drivers/net/sky2.c	2007-04-07 15:36:05.000000000 -0700
+++ linux-2.6.20.y/drivers/net/sky2.c	2007-04-07 15:54:42.000000000 -0700
@@ -1506,6 +1506,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] 6+ messages in thread

* [PATCH 3/4] sky2: turn on clocks when doing resume
  2007-04-07 23:42 [PATCH 0/4] skge and sky2 patches Stephen Hemminger
  2007-04-07 23:42 ` [PATCH 1/4] skge: turn carrier off when down Stephen Hemminger
  2007-04-07 23:42 ` [PATCH 2/4] sky2: " Stephen Hemminger
@ 2007-04-07 23:42 ` Stephen Hemminger
  2007-04-07 23:42 ` [PATCH 4/4] sky2: phy workarounds for Yukon EC-U A1 Stephen Hemminger
  3 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:42 UTC (permalink / raw)
  Cc: stable, netdev

[-- Attachment #1: sky2-ec-clocks-resume.patch --]
[-- Type: text/plain, Size: 906 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>


--- linux-2.6.20.y.orig/drivers/net/sky2.c	2007-04-07 15:54:42.000000000 -0700
+++ linux-2.6.20.y/drivers/net/sky2.c	2007-04-07 15:56:37.000000000 -0700
@@ -2437,6 +2437,10 @@
 		return -EOPNOTSUPP;
 	}
 
+	/* Make sure and enable all clocks */
+	if (hw->chip_id == CHIP_ID_YUKON_EC_U)
+		sky2_pci_write32(hw, PCI_DEV_REG3, 0);
+
 	hw->chip_rev = (sky2_read8(hw, B2_MAC_CFG) & CFG_CHIP_R_MSK) >> 4;
 
 	/* This rev is really old, and requires untested workarounds */
@@ -3610,6 +3614,9 @@
 
 	pci_restore_state(pdev);
 	pci_enable_wake(pdev, PCI_D0, 0);
+
+	if (hw->chip_id == CHIP_ID_YUKON_EC_U)
+		sky2_pci_write32(hw, PCI_DEV_REG3, 0);
 	sky2_set_power_state(hw, PCI_D0);
 
 	err = sky2_reset(hw);

--


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 4/4] sky2: phy workarounds for Yukon EC-U A1
  2007-04-07 23:42 [PATCH 0/4] skge and sky2 patches Stephen Hemminger
                   ` (2 preceding siblings ...)
  2007-04-07 23:42 ` [PATCH 3/4] sky2: turn on clocks when doing resume Stephen Hemminger
@ 2007-04-07 23:42 ` Stephen Hemminger
  3 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2007-04-07 23:42 UTC (permalink / raw)
  Cc: stable, netdev

[-- Attachment #1: sky2-ec-u-a1.patch --]
[-- Type: text/plain, Size: 1050 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>

--- linux-2.6.20.y.orig/drivers/net/sky2.c	2007-04-07 15:56:37.000000000 -0700
+++ linux-2.6.20.y/drivers/net/sky2.c	2007-04-07 15:58:12.000000000 -0700
@@ -524,9 +524,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 */
@@ -538,7 +538,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 {
 		gm_phy_write(hw, port, PHY_MARV_LED_CTRL, ledctrl);
 

--


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-04-07 23:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-07 23:42 [PATCH 0/4] skge and sky2 patches Stephen Hemminger
2007-04-07 23:42 ` [PATCH 1/4] skge: turn carrier off when down Stephen Hemminger
2007-04-07 23:42 ` [PATCH 2/4] sky2: " Stephen Hemminger
2007-04-07 23:42 ` [PATCH 3/4] sky2: turn on clocks when doing resume Stephen Hemminger
2007-04-07 23:42 ` [PATCH 4/4] sky2: phy workarounds for Yukon EC-U A1 Stephen Hemminger
  -- strict thread matches above, loose matches on Subject: below --
2007-04-07 23:02 [PATCH 0/4] skge/sky2 patches for 2.6.21 Stephen Hemminger
2007-04-07 23:02 ` [PATCH 3/4] sky2: turn on clocks when doing resume Stephen Hemminger

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).