Commit 3f309db3 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by Jeff Garzik

[PATCH] sk98lin: fix workaround for yukon-lite chipset (> rev 7)

Yukon-Lite chipset needs workaround for revision 7 (or later).
Without this patch, chip gets stuck in low power mode and never
boots. Newer SysKonnect vendor code already had same patch.

Related bug in skge is http://bugs.gentoo.org/87822

Chris, please add for 2.6.12.2
Signed-off-by: default avatarStephen Hemminger <shemminger@osdl.org>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent 00354cfb
...@@ -2016,7 +2016,7 @@ SK_IOC IoC) /* IO context */ ...@@ -2016,7 +2016,7 @@ SK_IOC IoC) /* IO context */
* we set the PHY to coma mode and switch to D3 power state. * we set the PHY to coma mode and switch to D3 power state.
*/ */
if (pAC->GIni.GIYukonLite && if (pAC->GIni.GIYukonLite &&
pAC->GIni.GIChipRev == CHIP_REV_YU_LITE_A3) { pAC->GIni.GIChipRev >= CHIP_REV_YU_LITE_A3) {
/* for all ports switch PHY to coma mode */ /* for all ports switch PHY to coma mode */
for (i = 0; i < pAC->GIni.GIMacsFound; i++) { for (i = 0; i < pAC->GIni.GIMacsFound; i++) {
......
...@@ -1065,7 +1065,7 @@ int Port) /* Port Index (MAC_1 + n) */ ...@@ -1065,7 +1065,7 @@ int Port) /* Port Index (MAC_1 + n) */
/* WA code for COMA mode */ /* WA code for COMA mode */
if (pAC->GIni.GIYukonLite && if (pAC->GIni.GIYukonLite &&
pAC->GIni.GIChipRev == CHIP_REV_YU_LITE_A3) { pAC->GIni.GIChipRev >= CHIP_REV_YU_LITE_A3) {
SK_IN32(IoC, B2_GP_IO, &DWord); SK_IN32(IoC, B2_GP_IO, &DWord);
...@@ -1110,7 +1110,7 @@ int Port) /* Port Index (MAC_1 + n) */ ...@@ -1110,7 +1110,7 @@ int Port) /* Port Index (MAC_1 + n) */
/* WA code for COMA mode */ /* WA code for COMA mode */
if (pAC->GIni.GIYukonLite && if (pAC->GIni.GIYukonLite &&
pAC->GIni.GIChipRev == CHIP_REV_YU_LITE_A3) { pAC->GIni.GIChipRev >= CHIP_REV_YU_LITE_A3) {
SK_IN32(IoC, B2_GP_IO, &DWord); SK_IN32(IoC, B2_GP_IO, &DWord);
...@@ -2126,7 +2126,7 @@ SK_U8 Mode) /* low power mode */ ...@@ -2126,7 +2126,7 @@ SK_U8 Mode) /* low power mode */
int Ret = 0; int Ret = 0;
if (pAC->GIni.GIYukonLite && if (pAC->GIni.GIYukonLite &&
pAC->GIni.GIChipRev == CHIP_REV_YU_LITE_A3) { pAC->GIni.GIChipRev >= CHIP_REV_YU_LITE_A3) {
/* save current power mode */ /* save current power mode */
LastMode = pAC->GIni.GP[Port].PPhyPowerState; LastMode = pAC->GIni.GP[Port].PPhyPowerState;
...@@ -2253,7 +2253,7 @@ int Port) /* Port Index (e.g. MAC_1) */ ...@@ -2253,7 +2253,7 @@ int Port) /* Port Index (e.g. MAC_1) */
int Ret = 0; int Ret = 0;
if (pAC->GIni.GIYukonLite && if (pAC->GIni.GIYukonLite &&
pAC->GIni.GIChipRev == CHIP_REV_YU_LITE_A3) { pAC->GIni.GIChipRev >= CHIP_REV_YU_LITE_A3) {
/* save current power mode */ /* save current power mode */
LastMode = pAC->GIni.GP[Port].PPhyPowerState; LastMode = pAC->GIni.GP[Port].PPhyPowerState;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment