Module Name: src
Committed By: msaitoh
Date: Fri Oct 18 23:08:29 UTC 2019
Modified Files:
src/sys/dev/pci: if_bce.c if_bcereg.h
Log Message:
>From OpenBSD:
- Mark ETHERCAP_VLAN_MTU.
- Clear the powerdown mode. Fixes PR kern/24911 reported by Werner Backes.
- Set proper LED modes.
To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/sys/dev/pci/if_bce.c
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/pci/if_bcereg.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/pci/if_bce.c
diff -u src/sys/dev/pci/if_bce.c:1.55 src/sys/dev/pci/if_bce.c:1.56
--- src/sys/dev/pci/if_bce.c:1.55 Fri Oct 18 23:06:57 2019
+++ src/sys/dev/pci/if_bce.c Fri Oct 18 23:08:29 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bce.c,v 1.55 2019/10/18 23:06:57 msaitoh Exp $ */
+/* $NetBSD: if_bce.c,v 1.56 2019/10/18 23:08:29 msaitoh Exp $ */
/*
* Copyright (c) 2003 Clifford Wright. All rights reserved.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bce.c,v 1.55 2019/10/18 23:06:57 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bce.c,v 1.56 2019/10/18 23:08:29 msaitoh Exp $");
#include "vlan.h"
@@ -421,6 +421,8 @@ bce_attach(device_t parent, device_t sel
ifp->if_stop = bce_stop;
IFQ_SET_READY(&ifp->if_snd);
+ sc->ethercom.ec_capabilities |= ETHERCAP_VLAN_MTU;
+
/* Initialize our media structures and probe the MII. */
mii->mii_ifp = ifp;
@@ -918,10 +920,15 @@ bce_init(struct ifnet *ifp)
sc->bce_txsnext = 0;
sc->bce_txin = 0;
- /* enable crc32 generation */
+ /* enable crc32 generation and set proper LED modes */
bus_space_write_4(sc->bce_btag, sc->bce_bhandle, BCE_MACCTL,
bus_space_read_4(sc->bce_btag, sc->bce_bhandle, BCE_MACCTL) |
- BCE_EMC_CG);
+ BCE_EMC_CRC32_ENAB | BCE_EMC_LED);
+
+ /* reset or clear powerdown control bit */
+ bus_space_write_4(sc->bce_btag, sc->bce_bhandle, BCE_MACCTL,
+ bus_space_read_4(sc->bce_btag, sc->bce_bhandle, BCE_MACCTL) &
+ ~BCE_EMC_PDOWN);
/* setup DMA interrupt control */
bus_space_write_4(sc->bce_btag, sc->bce_bhandle, BCE_DMAI_CTL, 1 << 24); /* MAGIC */
Index: src/sys/dev/pci/if_bcereg.h
diff -u src/sys/dev/pci/if_bcereg.h:1.4 src/sys/dev/pci/if_bcereg.h:1.5
--- src/sys/dev/pci/if_bcereg.h:1.4 Sun Dec 11 12:22:49 2005
+++ src/sys/dev/pci/if_bcereg.h Fri Oct 18 23:08:29 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bcereg.h,v 1.4 2005/12/11 12:22:49 christos Exp $ */
+/* $NetBSD: if_bcereg.h,v 1.5 2019/10/18 23:08:29 msaitoh Exp $ */
/*
* Copyright (c) 2003 Clifford Wright. All rights reserved.
@@ -71,7 +71,10 @@
/* Ethernet MAC Control */
#define BCE_MACCTL 0x00A8 /* ethernet mac control */
/* mac control bits */
-#define BCE_EMC_CG 0x00000001 /* crc32 generation */
+#define BCE_EMC_CRC32_ENAB 0x00000001 /* crc32 generation */
+#define BCE_EMC_PDOWN 0x00000004 /* PHY powerdown */
+#define BCE_EMC_EDET 0x00000008 /* PHY energy detect */
+#define BCE_EMC_LED 0x000000e0 /* PHY LED control */
/* DMA Interrupt control */
#define BCE_DMAI_CTL 0x0100