Module Name: src
Committed By: msaitoh
Date: Tue Dec 17 10:42:07 UTC 2019
Modified Files:
src/sys/dev/ic: rtl8169.c rtl81x9reg.h
Log Message:
Improve some chip revisions support:
- Add 8168FP, 8411, 8168G, 8401E, 8105E, 8105E_SPIN1, 8106E and 8402 from
{Free,Open}BSD.
- Renumber RTK_HWREV_8103E from 0x24C00000 to 0x34c00000. 0x24C00000 is newly
used as RTK_HWREV_8102EL_SPIN1. Same as {Free,Open}BSD.
To generate a diff of this commit:
cvs rdiff -u -r1.160 -r1.161 src/sys/dev/ic/rtl8169.c
cvs rdiff -u -r1.51 -r1.52 src/sys/dev/ic/rtl81x9reg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/ic/rtl8169.c
diff -u src/sys/dev/ic/rtl8169.c:1.160 src/sys/dev/ic/rtl8169.c:1.161
--- src/sys/dev/ic/rtl8169.c:1.160 Sun Sep 22 16:41:19 2019
+++ src/sys/dev/ic/rtl8169.c Tue Dec 17 10:42:06 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rtl8169.c,v 1.160 2019/09/22 16:41:19 ryo Exp $ */
+/* $NetBSD: rtl8169.c,v 1.161 2019/12/17 10:42:06 msaitoh Exp $ */
/*
* Copyright (c) 1997, 1998-2003
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rtl8169.c,v 1.160 2019/09/22 16:41:19 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rtl8169.c,v 1.161 2019/12/17 10:42:06 msaitoh Exp $");
/* $FreeBSD: /repoman/r/ncvs/src/sys/dev/re/if_re.c,v 1.20 2004/04/11 20:34:08 ru Exp $ */
/*
@@ -613,15 +613,18 @@ re_attach(struct rtk_softc *sc)
RTKQ_NOJUMBO;
break;
case RTK_HWREV_8168H:
+ case RTK_HWREV_8168FP:
sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD |
RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_PHYWAKE_PM |
RTKQ_NOJUMBO | RTKQ_RXDV_GATED | RTKQ_TXRXEN_LATER;
break;
case RTK_HWREV_8168E_VL:
case RTK_HWREV_8168F:
+ case RTK_HWREV_8411:
sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD |
RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_NOJUMBO;
break;
+ case RTK_HWREV_8168EP:
case RTK_HWREV_8168G:
case RTK_HWREV_8168G_SPIN1:
case RTK_HWREV_8168G_SPIN2:
@@ -637,10 +640,27 @@ re_attach(struct rtk_softc *sc)
break;
case RTK_HWREV_8102E:
case RTK_HWREV_8102EL:
- case RTK_HWREV_8103E:
+ case RTK_HWREV_8102EL_SPIN1:
sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD |
RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_NOJUMBO;
break;
+ case RTK_HWREV_8103E:
+ sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD |
+ RTKQ_MACSTAT | RTKQ_CMDSTOP;
+ break;
+ case RTK_HWREV_8401E:
+ case RTK_HWREV_8105E:
+ case RTK_HWREV_8105E_SPIN1:
+ case RTK_HWREV_8106E:
+ sc->sc_quirk |= RTKQ_PHYWAKE_PM |
+ RTKQ_DESCV2 | RTKQ_NOEECMD | RTKQ_MACSTAT |
+ RTKQ_CMDSTOP;
+ break;
+ case RTK_HWREV_8402:
+ sc->sc_quirk |= RTKQ_PHYWAKE_PM |
+ RTKQ_DESCV2 | RTKQ_NOEECMD | RTKQ_MACSTAT |
+ RTKQ_CMDSTOP; /* CMDSTOP_WAIT_TXQ */
+ break;
default:
aprint_normal_dev(sc->sc_dev,
"Unknown revision (0x%08x)\n", hwrev);
Index: src/sys/dev/ic/rtl81x9reg.h
diff -u src/sys/dev/ic/rtl81x9reg.h:1.51 src/sys/dev/ic/rtl81x9reg.h:1.52
--- src/sys/dev/ic/rtl81x9reg.h:1.51 Fri Nov 15 13:25:53 2019
+++ src/sys/dev/ic/rtl81x9reg.h Tue Dec 17 10:42:06 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rtl81x9reg.h,v 1.51 2019/11/15 13:25:53 msaitoh Exp $ */
+/* $NetBSD: rtl81x9reg.h,v 1.52 2019/12/17 10:42:06 msaitoh Exp $ */
/*
* Copyright (c) 1997, 1998
@@ -159,8 +159,9 @@
#define RTK_HWREV_8169S 0x04000000
#define RTK_HWREV_8169_8110SB 0x10000000
#define RTK_HWREV_8169_8110SC 0x18000000
+#define RTK_HWREV_8401E 0x24000000
#define RTK_HWREV_8102EL 0x24800000
-#define RTK_HWREV_8103E 0x24C00000
+#define RTK_HWREV_8102EL_SPIN1 0x24C00000
#define RTK_HWREV_8168D 0x28000000
#define RTK_HWREV_8168DP 0x28800000
#define RTK_HWREV_8168E 0x2C000000
@@ -169,19 +170,27 @@
#define RTK_HWREV_8100E 0x30800000
#define RTK_HWREV_8101E 0x34000000
#define RTK_HWREV_8102E 0x34800000
+#define RTK_HWREV_8103E 0x34c00000
#define RTK_HWREV_8168_SPIN2 0x38000000
#define RTK_HWREV_8168_SPIN3 0x38400000
#define RTK_HWREV_8100E_SPIN2 0x38800000
#define RTK_HWREV_8168C 0x3C000000
#define RTK_HWREV_8168C_SPIN2 0x3C400000
#define RTK_HWREV_8168CP 0x3C800000
+#define RTK_HWREV_8105E 0x40800000
+#define RTK_HWREV_8105E_SPIN1 0x40C00000
+#define RTK_HWREV_8402 0x44000000
+#define RTK_HWREV_8106E 0x44800000
#define RTK_HWREV_8168F 0x48000000
+#define RTK_HWREV_8411 0x48800000
#define RTK_HWREV_8168G 0x4c000000
#define RTK_HWREV_8168G_SPIN1 0x4c100000
+#define RTK_HWREV_8168EP 0x50000000
#define RTK_HWREV_8168GU 0x50800000
#define RTK_HWREV_8168G_SPIN2 0x50900000
#define RTK_HWREV_8168H 0x54000000
#define RTK_HWREV_8168H_SPIN1 0x54100000
+#define RTK_HWREV_8168FP 0x54800000
#define RTK_HWREV_8168G_SPIN4 0x5c800000
#define RTK_HWREV_8139 0x60000000
#define RTK_HWREV_8139A 0x70000000