[PATCH] sk98lin: fix workaround for yukon-lite chipset (> rev 7)
authorStephen Hemminger <shemminger@osdl.org>
Mon, 27 Jun 2005 22:47:25 +0000 (15:47 -0700)
committerJeff Garzik <jgarzik@pobox.com>
Sun, 31 Jul 2005 04:52:56 +0000 (00:52 -0400)
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: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/net/sk98lin/skgeinit.c
drivers/net/sk98lin/skxmac2.c

index df44834..6cb49dd 100644 (file)
@@ -2016,7 +2016,7 @@ SK_IOC    IoC)            /* IO context */
         * we set the PHY to coma mode and switch to D3 power state.
         */
        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 (i = 0; i < pAC->GIni.GIMacsFound; i++) {
index 94a09de..42d2d96 100644 (file)
@@ -1065,7 +1065,7 @@ int               Port)   /* Port Index (MAC_1 + n) */
        
        /* WA code for COMA mode */
        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);
 
@@ -1110,7 +1110,7 @@ int               Port)   /* Port Index (MAC_1 + n) */
 
        /* WA code for COMA mode */
        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);
 
@@ -2126,7 +2126,7 @@ SK_U8     Mode)           /* low power mode */
        int             Ret = 0;
 
        if (pAC->GIni.GIYukonLite &&
-           pAC->GIni.GIChipRev == CHIP_REV_YU_LITE_A3) {
+           pAC->GIni.GIChipRev >= CHIP_REV_YU_LITE_A3) {
 
                /* save current power mode */
                LastMode = pAC->GIni.GP[Port].PPhyPowerState;
@@ -2253,7 +2253,7 @@ int               Port)           /* Port Index (e.g. MAC_1) */
        int             Ret = 0;
 
        if (pAC->GIni.GIYukonLite &&
-               pAC->GIni.GIChipRev == CHIP_REV_YU_LITE_A3) {
+               pAC->GIni.GIChipRev >= CHIP_REV_YU_LITE_A3) {
 
                /* save current power mode */
                LastMode = pAC->GIni.GP[Port].PPhyPowerState;