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

Reply via email to