Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-9]: src/sys/dev/pci Pull up following revision(s) (requested by m...
details: https://anonhg.NetBSD.org/src/rev/08f77a84fddb
branches: netbsd-9
changeset: 1001042:08f77a84fddb
user: martin <martin%NetBSD.org@localhost>
date: Wed Oct 23 19:38:52 2019 +0000
description:
Pull up following revision(s) (requested by msaitoh in ticket #370):
sys/dev/pci/if_bce.c: revision 1.55
sys/dev/pci/if_bce.c: revision 1.56
sys/dev/pci/if_bcereg.h: revision 1.5
- Add missing splnet()/splx() around mii_tick(). Same as OpenBSD rev. 1.23
- Use device_printf() instead of aprint_error_dev)() in bce_watchdog().
- Remove unnecessary inclusion.
>From OpenBSD:
- Mark ETHERCAP_VLAN_MTU.
- Clear the powerdown mode. Fixes PR kern/24911 reported by Werner Backes.
- Set proper LED modes.
diffstat:
sys/dev/pci/if_bce.c | 23 +++++++++++++++--------
sys/dev/pci/if_bcereg.h | 7 +++++--
2 files changed, 20 insertions(+), 10 deletions(-)
diffs (97 lines):
diff -r cb70d708c0cd -r 08f77a84fddb sys/dev/pci/if_bce.c
--- a/sys/dev/pci/if_bce.c Wed Oct 23 19:33:07 2019 +0000
+++ b/sys/dev/pci/if_bce.c Wed Oct 23 19:38:52 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bce.c,v 1.52 2019/05/30 02:32:18 msaitoh Exp $ */
+/* $NetBSD: if_bce.c,v 1.52.2.1 2019/10/23 19:38:52 martin 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.52 2019/05/30 02:32:18 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bce.c,v 1.52.2.1 2019/10/23 19:38:52 martin Exp $");
#include "vlan.h"
@@ -63,8 +63,6 @@
#include <dev/mii/mii.h>
#include <dev/mii/miivar.h>
-#include <dev/mii/miidevs.h>
-#include <dev/mii/brgphyreg.h>
#include <dev/pci/if_bcereg.h>
@@ -423,6 +421,8 @@
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;
@@ -653,7 +653,7 @@
{
struct bce_softc *sc = ifp->if_softc;
- aprint_error_dev(sc->bce_dev, "device timeout\n");
+ device_printf(sc->bce_dev, "device timeout\n");
ifp->if_oerrors++;
(void) bce_init(ifp);
@@ -920,10 +920,15 @@
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 */
@@ -1476,9 +1481,11 @@
bce_tick(void *v)
{
struct bce_softc *sc = v;
+ int s;
- /* Tick the MII. */
+ s = splnet();
mii_tick(&sc->bce_mii);
+ splx(s);
callout_reset(&sc->bce_timeout, hz, bce_tick, sc);
}
diff -r cb70d708c0cd -r 08f77a84fddb sys/dev/pci/if_bcereg.h
--- a/sys/dev/pci/if_bcereg.h Wed Oct 23 19:33:07 2019 +0000
+++ b/sys/dev/pci/if_bcereg.h Wed Oct 23 19:38:52 2019 +0000
@@ -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.4.170.1 2019/10/23 19:38:52 martin 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
Home |
Main Index |
Thread Index |
Old Index