e8c37e204d
attached via PCI-Express: The previous code first checked that the bge ASIC-revision matched the 5750 ASIC-revisoin (the bcm5721 has the same ASIC revision). However, the bcm5752 is also a PCI-Express device, but has a different ASIC revision. Thus, we were setting sc->bge_pcie to zero for bcm5752s, which in turn causes bge_reset() to not perform required PCI-Express setup. The test for a 5750 ASIC revision may (or may not) have been carried across from the FreeBSD bge(4) driver. FreeBSD's bge(4) does not properly detect or handle post-5750 bge devices. Instead, FreeBSD's bge(4) keeps a sofc copy of the ASIC revision, and for post-5750 devices (5752, 5714, ...) overwrites that softc copy of the ASIC-revision with the 5750 ASIC revision. Thus, the test (mutatis mutandis, using FreeBDS's softc asic-revision field), was correct for FreeBSD; but manifestly incorrect for NetBSD. Mark Davies (mark at mcs.vuw.ac..nz) has confirmed via private email that this change fixes PR kern/kern/33509: his bcm5752 now works. |
||
---|---|---|
bin | ||
common | ||
crypto | ||
dist | ||
distrib | ||
doc | ||
etc | ||
games | ||
gnu | ||
include | ||
lib | ||
libexec | ||
regress | ||
rescue | ||
sbin | ||
share | ||
sys | ||
tools | ||
usr.bin | ||
usr.sbin | ||
x11 | ||
build.sh | ||
BUILDING | ||
Makefile | ||
Makefile.inc | ||
UPDATING |