Author: yongari
Date: Wed Feb 16 21:59:42 2011
New Revision: 218760
URL: http://svn.freebsd.org/changeset/base/218760

Log:
  Add initial support for RTL8401E PCIe Fast Ethernet.
  
  PR:   154789

Modified:
  head/sys/dev/re/if_re.c
  head/sys/pci/if_rlreg.h

Modified: head/sys/dev/re/if_re.c
==============================================================================
--- head/sys/dev/re/if_re.c     Wed Feb 16 21:46:03 2011        (r218759)
+++ head/sys/dev/re/if_re.c     Wed Feb 16 21:59:42 2011        (r218760)
@@ -217,6 +217,7 @@ static struct rl_hwrev re_hwrevs[] = {
        { RL_HWREV_8102EL, RL_8169, "8102EL", RL_MTU },
        { RL_HWREV_8102EL_SPIN1, RL_8169, "8102EL", RL_MTU },
        { RL_HWREV_8103E, RL_8169, "8103E", RL_MTU },
+       { RL_HWREV_8401E, RL_8169, "8401E", RL_MTU },
        { RL_HWREV_8105E, RL_8169, "8105E", RL_MTU },
        { RL_HWREV_8168B_SPIN2, RL_8169, "8168", RL_JUMBO_MTU },
        { RL_HWREV_8168B_SPIN3, RL_8169, "8168", RL_JUMBO_MTU },
@@ -1377,6 +1378,7 @@ re_attach(device_t dev)
                    RL_FLAG_MACSTAT | RL_FLAG_FASTETHER | RL_FLAG_CMDSTOP |
                    RL_FLAG_AUTOPAD | RL_FLAG_MACSLEEP;
                break;
+       case RL_HWREV_8401E:
        case RL_HWREV_8105E:
                sc->rl_flags |= RL_FLAG_PHYWAKE | RL_FLAG_PHYWAKE_PM |
                    RL_FLAG_PAR | RL_FLAG_DESCV2 | RL_FLAG_MACSTAT |
@@ -1502,8 +1504,11 @@ re_attach(device_t dev)
        }
 
        /* Take PHY out of power down mode. */
-       if ((sc->rl_flags & RL_FLAG_PHYWAKE_PM) != 0)
+       if ((sc->rl_flags & RL_FLAG_PHYWAKE_PM) != 0) {
                CSR_WRITE_1(sc, RL_PMCH, CSR_READ_1(sc, RL_PMCH) | 0x80);
+               if (hw_rev->rl_rev == RL_HWREV_8401E)
+                       CSR_WRITE_1(sc, 0xD1, CSR_READ_1(sc, 0xD1) & ~0x08);
+       }
        if ((sc->rl_flags & RL_FLAG_PHYWAKE) != 0) {
                re_gmii_writereg(dev, 1, 0x1f, 0);
                re_gmii_writereg(dev, 1, 0x0e, 0);

Modified: head/sys/pci/if_rlreg.h
==============================================================================
--- head/sys/pci/if_rlreg.h     Wed Feb 16 21:46:03 2011        (r218759)
+++ head/sys/pci/if_rlreg.h     Wed Feb 16 21:59:42 2011        (r218760)
@@ -160,6 +160,7 @@
 #define        RL_HWREV_8110S          0x04000000
 #define        RL_HWREV_8169_8110SB    0x10000000
 #define        RL_HWREV_8169_8110SC    0x18000000
+#define        RL_HWREV_8401E          0x24000000
 #define        RL_HWREV_8102EL         0x24800000
 #define        RL_HWREV_8102EL_SPIN1   0x24C00000
 #define        RL_HWREV_8168D          0x28000000
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to