summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2016-06-05 07:55:21 +0000
committeradrian <adrian@FreeBSD.org>2016-06-05 07:55:21 +0000
commitdffee6a5e68e1fd78f777d4855bc864e1af811a6 (patch)
tree2c03ccd8ffec1187d462be6eb68405d71ff1cf81
parent2beedd32600f99db33416a4ef4192067c89e7707 (diff)
downloadFreeBSD-src-dffee6a5e68e1fd78f777d4855bc864e1af811a6.zip
FreeBSD-src-dffee6a5e68e1fd78f777d4855bc864e1af811a6.tar.gz
[bwn] Enable PHY-LP 5GHz support for the one NIC I have tested it on so far.
After perusing the PHY-LP code (don't ask why; honest) I discovered that it /has/ 5GHz support - but it's not ever used. I found one NIC - a BCM4312 w/ pci id 0x4315 - which advertised dual-band PHY-LP support. Turns out it works. Whilst here, move up the support bit logging code so I can use it to debug this. Tested: * BCM4312 (pci id 0x4315); 5GHz STA operation
-rw-r--r--sys/dev/bwn/if_bwn.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/sys/dev/bwn/if_bwn.c b/sys/dev/bwn/if_bwn.c
index fcf7996..27f9194 100644
--- a/sys/dev/bwn/if_bwn.c
+++ b/sys/dev/bwn/if_bwn.c
@@ -1163,6 +1163,16 @@ bwn_attach_core(struct bwn_mac *mac)
have_bg = 1;
have_a = 1;
}
+#if 0
+ device_printf(sc->sc_dev, "%s: high=0x%08x, have_a=%d, have_bg=%d,"
+ " deviceid=0x%04x, siba_deviceid=0x%04x\n",
+ __func__,
+ high,
+ have_a,
+ have_bg,
+ siba_get_pci_device(sc->sc_dev),
+ siba_get_chipid(sc->sc_dev));
+#endif
} else {
device_printf(sc->sc_dev, "%s: not siba; bailing\n", __func__);
error = ENXIO;
@@ -1183,18 +1193,12 @@ bwn_attach_core(struct bwn_mac *mac)
if (error)
goto fail;
-#if 0
- device_printf(sc->sc_dev, "%s: high=0x%08x, have_a=%d, have_bg=%d,"
- " deviceid=0x%04x, siba_deviceid=0x%04x\n",
- __func__,
- high,
- have_a,
- have_bg,
- siba_get_pci_device(sc->sc_dev),
- siba_get_chipid(sc->sc_dev));
-#endif
-
+ /*
+ * This is the whitelist of devices which we "believe"
+ * the SPROM PHY config from. The rest are "guessed".
+ */
if (siba_get_pci_device(sc->sc_dev) != 0x4312 &&
+ siba_get_pci_device(sc->sc_dev) != 0x4315 &&
siba_get_pci_device(sc->sc_dev) != 0x4319 &&
siba_get_pci_device(sc->sc_dev) != 0x4324 &&
siba_get_pci_device(sc->sc_dev) != 0x4328 &&
OpenPOWER on IntegriCloud