Module Name: src Committed By: riz Date: Wed Jan 25 18:02:45 UTC 2012
Modified Files: src/sys/dev/ic [netbsd-5]: rtl8169.c rtl81x9reg.h rtl81x9var.h Log Message: Pull up following revision(s) (requested by garbled in ticket #1698): sys/dev/ic/rtl81x9var.h: revision 1.52 sys/dev/ic/rtl8169.c: revision 1.134 sys/dev/ic/rtl81x9reg.h: revision 1.42 Add support to recognize the 8168E model of this chip. Taken from FreeBSD To generate a diff of this commit: cvs rdiff -u -r1.105.4.8 -r1.105.4.9 src/sys/dev/ic/rtl8169.c cvs rdiff -u -r1.32.4.4 -r1.32.4.5 src/sys/dev/ic/rtl81x9reg.h cvs rdiff -u -r1.41.12.5 -r1.41.12.6 src/sys/dev/ic/rtl81x9var.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.105.4.8 src/sys/dev/ic/rtl8169.c:1.105.4.9 --- src/sys/dev/ic/rtl8169.c:1.105.4.8 Fri Jun 19 21:51:43 2009 +++ src/sys/dev/ic/rtl8169.c Wed Jan 25 18:02:44 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: rtl8169.c,v 1.105.4.8 2009/06/19 21:51:43 snj Exp $ */ +/* $NetBSD: rtl8169.c,v 1.105.4.9 2012/01/25 18:02:44 riz Exp $ */ /* * Copyright (c) 1997, 1998-2003 @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rtl8169.c,v 1.105.4.8 2009/06/19 21:51:43 snj Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtl8169.c,v 1.105.4.9 2012/01/25 18:02:44 riz Exp $"); /* $FreeBSD: /repoman/r/ncvs/src/sys/dev/re/if_re.c,v 1.20 2004/04/11 20:34:08 ru Exp $ */ /* @@ -603,6 +603,11 @@ re_attach(struct rtk_softc *sc) */ sc->sc_quirk |= RTKQ_NOJUMBO; break; + case RTK_HWREV_8168E: + sc->sc_quirk |= RTKQ_DESCV2 | RTKQ_NOEECMD | + RTKQ_MACSTAT | RTKQ_CMDSTOP | RTKQ_PHYWAKE_PM | + RTKQ_NOJUMBO; + break; case RTK_HWREV_8100E: case RTK_HWREV_8100E_SPIN2: case RTK_HWREV_8101E: @@ -661,6 +666,10 @@ re_attach(struct rtk_softc *sc) } } + /* Take PHY out of power down mode. */ + if ((sc->sc_quirk & RTKQ_PHYWAKE_PM) != 0) + CSR_WRITE_1(sc, RTK_PMCH, CSR_READ_1(sc, RTK_PMCH) | 0x80); + aprint_normal_dev(sc->sc_dev, "Ethernet address %s\n", ether_sprintf(eaddr)); Index: src/sys/dev/ic/rtl81x9reg.h diff -u src/sys/dev/ic/rtl81x9reg.h:1.32.4.4 src/sys/dev/ic/rtl81x9reg.h:1.32.4.5 --- src/sys/dev/ic/rtl81x9reg.h:1.32.4.4 Fri Jun 19 21:51:43 2009 +++ src/sys/dev/ic/rtl81x9reg.h Wed Jan 25 18:02:45 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: rtl81x9reg.h,v 1.32.4.4 2009/06/19 21:51:43 snj Exp $ */ +/* $NetBSD: rtl81x9reg.h,v 1.32.4.5 2012/01/25 18:02:45 riz Exp $ */ /* * Copyright (c) 1997, 1998 @@ -130,6 +130,7 @@ #define RTK_CSIAR 0x0068 #define RTK_TBI_LPAR 0x006A #define RTK_GMEDIASTAT 0x006C /* 8 bits */ +#define RTK_PMCH 0x006F /* 8 bits */ #define RTK_EPHYAR 0x0080 #define RTK_LDPS 0x0082 /* Link Down Power Saving */ #define RTK_DBG_REG 0x00D1 @@ -161,6 +162,7 @@ #define RTK_HWREV_8103E 0x24C00000 #define RTK_HWREV_8168D 0x28000000 #define RTK_HWREV_8168DP 0x28800000 +#define RTK_HWREV_8168E 0x2C000000 #define RTK_HWREV_8168_SPIN1 0x30000000 #define RTK_HWREV_8100E 0x30800000 #define RTK_HWREV_8101E 0x34000000 Index: src/sys/dev/ic/rtl81x9var.h diff -u src/sys/dev/ic/rtl81x9var.h:1.41.12.5 src/sys/dev/ic/rtl81x9var.h:1.41.12.6 --- src/sys/dev/ic/rtl81x9var.h:1.41.12.5 Fri Jun 19 21:51:43 2009 +++ src/sys/dev/ic/rtl81x9var.h Wed Jan 25 18:02:44 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: rtl81x9var.h,v 1.41.12.5 2009/06/19 21:51:43 snj Exp $ */ +/* $NetBSD: rtl81x9var.h,v 1.41.12.6 2012/01/25 18:02:44 riz Exp $ */ /* * Copyright (c) 1997, 1998 @@ -194,6 +194,7 @@ struct rtk_softc { #define RTKQ_NOEECMD 0x00000080 /* unusable EEPROM command */ #define RTKQ_MACSTAT 0x00000100 /* set MACSTAT_DIS on init */ #define RTKQ_CMDSTOP 0x00000200 /* set STOPREQ on stop */ +#define RTKQ_PHYWAKE_PM 0x00000400 /* wake PHY from power down */ bus_dma_tag_t sc_dmat;