Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/pci For chips which contain an ASF/IPMI firmware, in...



details:   https://anonhg.NetBSD.org/src/rev/ed9a0771f737
branches:  trunk
changeset: 366223:ed9a0771f737
user:      buhrow <buhrow%NetBSD.org@localhost>
date:      Thu May 19 04:43:43 2022 +0000

description:
For chips which contain an ASF/IPMI firmware, instruct the chip to shut the host ASF firmware
down when attaching the device so the IPMI BMC can use the same physical port even when NetBSD
doesn't have a network configuration on the device.  By contrast, when the device gets a
network configuration assigned to it and bge_init() is called, the host ASF firmware is brought
up so both NetBSD and the IPMI BMc can use the same
physical port.

This now matches FreeBSD behavior, as well as  behavior from NetBSD-5.2.

Tested on a Sunfire X2200-M2 system with the following chip:

bge1 at pci7 dev 4 function 1: Broadcom BCM5715 Gigabit Ethernet
bge1: interrupting at ioapic0 pin 11
bge1: HW config 000000d4, 00000014, 00000000, 00000000 00000000
bge1: ASIC BCM5715 A3 (0x9003), Ethernet address 00:1e:68:XX:XX:XX
bge1: setting short Tx thresholds
brgphy1 at bge1 phy 1: BCM5714 1000BASE-T/X media interface, rev. 0
brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto

diffstat:

 sys/dev/pci/if_bge.c |  10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (38 lines):

diff -r 3896f764d98d -r ed9a0771f737 sys/dev/pci/if_bge.c
--- a/sys/dev/pci/if_bge.c      Thu May 19 04:08:03 2022 +0000
+++ b/sys/dev/pci/if_bge.c      Thu May 19 04:43:43 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_bge.c,v 1.352 2022/04/07 19:33:38 andvar Exp $      */
+/*     $NetBSD: if_bge.c,v 1.353 2022/05/19 04:43:43 buhrow Exp $      */
 
 /*
  * Copyright (c) 2001 Wind River Systems
@@ -79,7 +79,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.352 2022/04/07 19:33:38 andvar Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.353 2022/05/19 04:43:43 buhrow Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -3640,7 +3640,7 @@
        BGE_SETBIT_FLUSH(sc, BGE_MISC_LOCAL_CTL, BGE_MLC_AUTO_EEPROM);
 
        bge_stop_fw(sc);
-       bge_sig_pre_reset(sc, BGE_RESET_START);
+       bge_sig_pre_reset(sc, BGE_RESET_SHUTDOWN);
        if (bge_reset(sc))
                aprint_error_dev(sc->bge_dev, "chip reset failed\n");
 
@@ -3674,8 +3674,8 @@
            "HW config %08x, %08x, %08x, %08x %08x\n",
            hwcfg, hwcfg2, hwcfg3, hwcfg4, hwcfg5);
 
-       bge_sig_legacy(sc, BGE_RESET_START);
-       bge_sig_post_reset(sc, BGE_RESET_START);
+       bge_sig_legacy(sc, BGE_RESET_SHUTDOWN);
+       bge_sig_post_reset(sc, BGE_RESET_SHUTDOWN);
 
        if (bge_chipinit(sc)) {
                aprint_error_dev(sc->bge_dev, "chip initialization failed\n");



Home | Main Index | Thread Index | Old Index