aboutsummaryrefslogtreecommitdiff
path: root/sys/gnu/dev/bwn
Commit message (Collapse)AuthorAgeFilesLines
* bwn(4): BWN_GPL_PHY: make compile againBjoern A. Zeeb2025-07-131-1/+1
| | | | | | | | | | | compiler complains about error: comparison of different enumeration types ('bwn_phy_band_t' and 'bwn_band_t'); so use the correct enum value. Sponsored by: The FreeBSD Foundation PR: 287695 Reported by: (tom.mcclean gmail.com) (cherry picked from commit 2f16c8d4fa0f5788d52d74fa875c386c475249ec)
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-167-14/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* sys: Remove $FreeBSD$: one-line .h patternWarner Losh2023-08-167-7/+0
| | | | Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-162-4/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* bwn: eliminate dead writes in BWN_GPL_PHYGreg V2022-05-042-5/+10
| | | | | | | | | This fixes the newly Werror'ed useless write warnings with options BWN_GPL_PHY. Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35105
* bwn(4): txpid2g/txpid5g[lh] are not defined after sromrev 7; the defaultLandon J. Fuller2018-02-131-0/+3
| | | | | | | | | | | indices into the TX power gain table should be used instead. This enables use of bwn(4) with later BCM4321 revisions. Reported by: Trev Roydhouse Notes: svn path=/head/; revision=329228
* bwn(4): migrate bwn(4) to the native bhnd(9) interface, and drop siba_bwn.Landon J. Fuller2018-02-056-148/+602
| | | | | | | | | | | | | - 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
* Revert r327828, r327949, r327953, r328016-r328026, r328041:Pedro F. Giffuni2018-01-211-3/+2
| | | | | | | | | | | | | | | | | | Uses of mallocarray(9). The use of mallocarray(9) has rocketed the required swap to build FreeBSD. This is likely caused by the allocation size attributes which put extra pressure on the compiler. Given that most of these checks are superfluous we have to choose better where to use mallocarray(9). We still have more uses of mallocarray(9) but hopefully this is enough to bring swap usage to a reasonable level. Reported by: wosch PR: 225197 Notes: svn path=/head/; revision=328218
* misc geom and gnu: make some use of mallocarray(9).Pedro F. Giffuni2018-01-151-2/+3
| | | | | | | | | | | | | | | | Focus on code where we are doing multiplications within malloc(9). None of these ire likely to overflow, however the change is still useful as some static checkers can benefit from the allocation attributes we use for mallocarray. This initial sweep only covers malloc(9) calls with M_NOWAIT. No good reason but I started doing the changes before r327796 and at that time it was convenient to make sure the sorrounding code could handle NULL values. Differential revision: https://reviews.freebsd.org/D13837 Notes: svn path=/head/; revision=328026
* Introduce bwn(4) support for the bhnd(4) bus.Landon J. Fuller2017-12-026-33/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [bwn] convert another PHY-N workaround to the freebsd bwn format.Adrian Chadd2016-05-231-8/+4
| | | | | | | | | These were hidden behind an #ifdef that we weren't setting. I don't have the hardware in question to check. Notes: svn path=/head/; revision=300448
* [bwn] typo.Adrian Chadd2016-05-191-1/+1
| | | | Notes: svn path=/head/; revision=300193
* [bwn] disable rfon checks so the 2056/2057 radios are programmed.Adrian Chadd2016-05-191-2/+8
| | | | | | | | | | | | This was the big missing piece for getting the BCM94322MC NIC to work at all. Tested: * BCM4322, STA mode (2g, 5g) Notes: svn path=/head/; revision=300192
* [bwn] improve N-PHY debuggability a little bit.Adrian Chadd2016-05-191-5/+14
| | | | Notes: svn path=/head/; revision=300191
* [bwn] add opt_wlan.h and opt_bwn.h to each of the phy_n source files.Adrian Chadd2016-05-196-0/+17
| | | | Notes: svn path=/head/; revision=300190
* [bwn] add initial bwn(4) N-PHY code, ported from Linux b43.Adrian Chadd2016-05-1713-0/+26868
This is a GPLv2 PHY-N implementation based on the Linux b43 driver, ported over to work in bwn(4). I've tested this on the BCM4321 11abgn device, in 11bg and 11a modes. The b43 PHY code only supports 11abg, no 11n, and 20MHz only wide channels. Yes, this is a GPLv2 driver, so it won't be included in the default builds. Tested: * BCM4321 11abgn device (Apple!), 11bg and 11a STA mode. Obtained from: Linux b43 Notes: svn path=/head/; revision=300016