[RFT] sky2: yukon-ec-u phy power problems

Stephen Hemminger
2007-08-21T17:07:33Z

The sky2 driver clears some bits in the PHY control register, that cause
the PHY interface to get changed. Some of these deal with voltage and power
savings as well. This may explain some of the failures on Gigabyte DS-3 motherboard.

The clue to possible problem was looking at why loading/unloading sky2 would
break vendor sk98lin driver (ie what registers changed).

--- a/drivers/net/sky2.c 2007-08-21 09:53:41.000000000 -0700
+++ b/drivers/net/sky2.c 2007-08-21 09:53:43.000000000 -0700
@@ -696,8 +696,8 @@ static void sky2_mac_init(struct sky2_hw
int i;
const u8 *addr = hw->dev[port]->dev_addr;

- sky2_write32(hw, SK_REG(port, GPHY_CTRL), GPC_RST_SET);
- sky2_write32(hw, SK_REG(port, GPHY_CTRL), GPC_RST_CLR);
+ sky2_write8(hw, SK_REG(port, GPHY_CTRL), GPC_RST_SET);
+ sky2_write8(hw, SK_REG(port, GPHY_CTRL), GPC_RST_CLR);

sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_RST_CLR);