aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/bwn
Commit message (Collapse)AuthorAgeFilesLines
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* bwn(4): Fix outstanding bug in PHY-G tssi2dbm table generation caught byLandon J. Fuller2018-02-121-5/+0
| | | | | | | | -Wconstant-conversion, and remove now unnecessary warning suppression flags. Notes: svn path=/head/; revision=329184
* bwn(4): migrate bwn(4) to the native bhnd(9) interface, and drop siba_bwn.Landon J. Fuller2018-02-051-1/+6
| | | | | | | | | | | | | - Remove the shim interface that allowed bwn(4) to use either siba_bwn or bhnd(4), replacing all siba_bwn calls with their bhnd(4) bus equivalents. - Drop the legay, now-unused siba_bwn bus driver. - Clean up bhnd(4) board flag defines referenced by bwn(4). Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D13518 Notes: svn path=/head/; revision=328912
* Introduce bwn(4) support for the bhnd(4) bus.Landon J. Fuller2017-12-021-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, bwn(4) relies on the siba_bwn(4) bus driver to provide support for the on-chip SSB interconnect found in Broadcom's older PCI(e) Wi-Fi adapters. Non-PCI Wi-Fi adapters, as well as the newer BCMA interconnect found in post-2009 Broadcom Wi-Fi hardware, are not supported by siba_bwn(4). The bhnd(4) bus driver (also used by the FreeBSD/MIPS Broadcom port) provides a unified kernel interface to a superset of the hardware supported by siba_bwn; by attaching bwn(4) via bhnd(4), we can support both modern PCI(e) Wi-Fi devices based on the BCMA backplane interconnect, as well as Broadcom MIPS WiSoCs that include a D11 MAC core directly attached to their SSB or BCMA backplane. This diff introduces opt-in bwn(4) support for bhnd(4) by providing: - A small bwn(4) driver subclass, if_bwn_bhnd, that attaches via bhnd(4) instead of siba_bwn(4). - A bhndb(4)-based PCI host bridge driver, if_bwn_pci, that optionally probes at a higher priority than the siba_bwn(4) PCI driver. - A set of compatibility shims that perform translation of bwn(4)'s siba_bwn function calls into their bhnd(9) API equivalents when bwn(4) is attached via a bhnd(4) bus parent. When bwn(4) is attached via siba_bwn(4), all siba_bwn function calls are simply passed through to their original implementations. To test bwn(4) with bhnd(4), place the following lines in loader.conf(5): hw.bwn_pci.preferred="1" if_bwn_pci_load="YES bwn_v4_ucode_load="YES" bwn_v4_lp_ucode_load="YES" To verify that bwn(4) is using bhnd(4), you can check dmesg: bwn0: <Broadcom 802.11 MAC/PHY/Radio, rev 15> ... on bhnd0 ... or devinfo(8): pcib2 pci2 bwn_pci0 bhndb0 bhnd0 bwn0 ... bwn(4)/bhnd(4) has been tested for regressions with most chipsets currently supported by bwn(4), including: - BCM4312 - BCM4318 - BCM4321 With minimal changes to the DMA code (not included in this commit), I was also able to test support for newer BCMA devices by bringing up basic working Wi-Fi on two previously unsupported, BCMA-based N-PHY chipsets: - BCM43224 - BCM43225 Approved by: adrian (mentor, implicit) Sponsored by: The FreeBSD Foundation & Plausible Labs Differential Revision: https://reviews.freebsd.org/D13041 Notes: svn path=/head/; revision=326454
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-041-2/+2
| | | | | | | | | | | This simplifies make output/logic Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314651
* Properly include the 802.11n PHY support files when the BWM_GPL_PHYWarner Losh2016-10-111-11/+9
| | | | | | | | option is included. Remove the comment suggesting that people uncomment things because it is OBE. Notes: svn path=/head/; revision=307073
* Make some additional -Wconstant-conversion warnings from clang 3.9.0 inDimitry Andric2016-09-041-2/+2
| | | | | | | bwn(4) non-fatal for now. Notes: svn path=/head/; revision=305393
* bwn, bwn_pci, siba_bwn: add missing opt_*.h dependencies.Andriy Voskoboinyk2016-06-081-1/+1
| | | | Notes: svn path=/head/; revision=301692
* [bwn] add in bwn n-phy linking.Adrian Chadd2016-05-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | * The default kernel and options won't build the GPL PHY bits; * bwn(4) defaults to building as a module anyway!; * If BWN_GPL_PHY is specified in the config file, and you uncomment the GPL PHY bits in the module Makefile, you'll get a working N-PHY. This is specifically designed to be obtuse for now, as I don't want to flip it on by default. It's easy enough for people to flip on and build, and it's a module so the default GENERIC kernel won't be GPL tainted. I'll have to add an actual HAL layer that allows the GPL PHY to be loaded before if_bwn so it can be "magic", but that'll come later. Tested: * BCM4321 11abg NIC, STA mode Notes: svn path=/head/; revision=300020
* [bwn] add in the new phy common and utils files.Adrian Chadd2016-05-141-0/+6
| | | | | | | They're not yet used by included code; that'll come next. Notes: svn path=/head/; revision=299772
* [bwn] break out the 'g' phy code into a separate source file.Adrian Chadd2016-05-021-1/+3
| | | | | | | | | | | | | * Break out the 'g' phy code; * Break out the debugging bits into a separate source file, since some debugging prints are done in the phy code; * Make some more chip methods in if_bwn.c public. This brings the size of if_bwn.c down to 6,805 lines which is now approaching managable. Notes: svn path=/head/; revision=298948
* [bwn] break out the LP PHY code into a separate file.Adrian Chadd2016-05-021-0/+1
| | | | | | | | | | | | This (and eventually migrating the other PHY code out) is in preparation for adding the 11n PHY. No, the 11ac PHY (for the BCM4260 softmac part) isn't yet open source, so we can't grow that. Yet. This trims ~3,700 lines of code from if_bwn.c, bringing it down to a slightly less crazy sounding 10,446 lines of code. Notes: svn path=/head/; revision=298944
* Re-support CWARNFLAGS, lost when bsd.sys.mk was removed. Also, supportWarner Losh2015-01-031-1/+0
| | | | | | | | | | | CWARNFALGS.$file centrally so we don't have to have it in all the places. Remove a few warning flags that are no longer needed. Also, always use -Wno-unknown-pragma to (hopefully temporarily) work around #pragma ident in debug.h in the opensolaris code. Remove some stale warning suppression that's no longer necessary. Notes: svn path=/head/; revision=276606
* Upgrade our copy of llvm/clang to trunk r162107. With thanks toDimitry Andric2012-08-201-0/+4
| | | | | | | Benjamin Kramer and Joerg Sonnenberger for their input and fixes. Notes: svn path=/head/; revision=239462
* adds bwn(4) driver for supporting Broadcom BCM43xx chipsets.Weongyo Jeong2010-02-161-0/+9
o uses v4 firmware instead of v3. A port will be committed to create the bwn firmware module. o supports B/G and LP(low power) PHYs. o supports 32 / 64 bits DMA operations. o tested on big / little endian machines so should work on all architectures. It'd not connected to the build until the firmware port is committed. Notes: svn path=/head/; revision=203945