RFC wifi: b43: AC-PHY support (series 4/4)
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest4 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | wifi: b43: radio 2069 and AC-PHY tablesdrivers/ drivers/ drivers/ +2 more | +2186 | 0 replies | |
| 2/4 | wifi: b43: AC-PHY init and 2.4 GHz channel switchingdrivers/ drivers/ drivers/ +1 more | +1295 | 0 replies | |
| 3/4 | wifi: b43: 5 GHz, 80 MHz and VHT for the AC PHYdrivers/ drivers/ drivers/ +1 more | +328 | 0 replies | |
| 4/4 | wifi: b43: enable the AC-PHY supportdrivers/ | +2 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH RFC wireless-next 0/4] wifi: b43: AC-PHY support (series 4/4)
Radio 2069 and the AC PHY: tables, 2.4 GHz and 5 GHz channel switching (5 GHz in 80 MHz mode), HT and VHT capabilities, and the removal of "depends on BROKEN". Based on series 3/4.
With the four series b43 brings up a BCM4360 on 2.4 GHz and 5 GHz, with HT at 20 MHz on 2.4 GHz and VHT at 80 MHz on 5 GHz (40 MHz is untested), two streams and A-MPDU.
Each patch compiles on its own (kernel 7.2.10 headers). The four series together were run on a MacBookAir6,1 (14e4:43a0, BCM4360, core revision 42, microcode 832.127, 2 of 3 chains wired) on top of v7.3-rc5's b43. The AC PHY only comes with series 4, so the earlier series cannot be exercised on this hardware alone. Association and traffic with WPA2 (software crypto) on 2.4 GHz (HT, about 54-63 Mbit/s) and on 5 GHz (VHT, 80 MHz block, two streams, 40-70 Mbit/s at -78 dBm), no errors in the log. Not tested:
suspend/resume with this exact series, other boards. Not done: TX calibration, hardware crypto, power save.
Known issues, which a review would ask to fix (pointed out by Alessio Ferri): the number of AC cores is forced to 2 on the MacBook boards (0x117, 0x137) and some init loops assume 2 cores, which is wrong for 3-chain boards; and SROM revision 11 values are read at fixed word offsets instead of from parsed SPROM fields (the parsing is in his bcma series, not merged yet).
Where the values come from: the register sequences and table contents were taken from Broadcom's wl driver running on this MacBook, by tracing its register accesses (bpftrace on wl's MMIO accessors), and reduced to what the hardware needs. Parts come from Alessio Ferri's AC-PHY work (the PHY init sequence, the 40 and 80 MHz coefficient tables, a TX gain table, the Farrow resampler formula, the VHT fields of the TX descriptor, register and table names), and some formats follow brcmsmac.
The result was tested on the hardware as described below.
Andreas Wendleder (4):
wifi: b43: radio 2069 and AC-PHY tables
wifi: b43: AC-PHY init and 2.4 GHz channel switching
wifi: b43: 5 GHz, 80 MHz and VHT for the AC PHY
wifi: b43: enable the AC-PHY support
drivers/net/wireless/broadcom/b43/Kconfig | 4 +- drivers/net/wireless/broadcom/b43/Makefile | 2 +- drivers/net/wireless/broadcom/b43/main.c | 69 +- drivers/net/wireless/broadcom/b43/phy_ac.c | 1263 +++++++++++++++- drivers/net/wireless/broadcom/b43/phy_ac.h | 4 + .../net/wireless/broadcom/b43/phy_ac_farrow.h | 260 ++++ .../net/wireless/broadcom/b43/phy_common.c | 25 +- .../net/wireless/broadcom/b43/radio_2069.c | 862 +++++++++++ .../net/wireless/broadcom/b43/radio_2069.h | 19 + .../net/wireless/broadcom/b43/tables_phy_ac.c | 1273 +++++++++++++++++ .../net/wireless/broadcom/b43/tables_phy_ac.h | 31 + 11 files changed, 3801 insertions(+), 11 deletions(-) create mode 100644 drivers/net/wireless/broadcom/b43/phy_ac_farrow.h create mode 100644 drivers/net/wireless/broadcom/b43/radio_2069.c create mode 100644 drivers/net/wireless/broadcom/b43/radio_2069.h create mode 100644 drivers/net/wireless/broadcom/b43/tables_phy_ac.c create mode 100644 drivers/net/wireless/broadcom/b43/tables_phy_ac.h