1
0
Fork 0
remarkable-linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac
Eirik Schultz d4e7e07a39 brcmfmac: Use request_firmware_direct for the clm_blob
from patchwork.kernel.org:

The linux-firmware brcmfmac firmware files contain an embedded table with
per country allowed channels and strength info.

These versions of the firmware are specially build for linux-firmware,
the firmware files directly available from Broadcom / Cypress rely on
a separate clm_blob file for this info.

For some unknown reason Broadcom / Cypress refuse to provide the standard
firmware files + clm_blob files it uses elsewhere for inclusion into
linux-firmware, instead relying on these special builds with the clm_blob
info embedded. This means that the linux-firmware firmware versions often
lag behind, but I digress.

The brcmfmac driver does support the separate clm_blob file and always
tries to load this. Currently we use request_firmware for this. This means
that on any standard install, using the standard combo of linux-kernel +
linux-firmware, we will get a warning:
"Direct firmware load for ... failed with error -2"

On top of this, brcmfmac itself prints: "no clm_blob available (err=-2),
device may have limited channels available" and we will get a slow
fallback to the userspace firmware loading mechanism.

This commit fixes both almost any brcmfmac device logging the warning
(leaving the brcmfmac info message in pace), as well as the slow and
unnecesary fallback by switching to request_firmware_direct for
the clm_blob.
2020-11-06 09:19:41 +01:00
..
Makefile brcmfmac: only build fwsignal module for CONFIG_BRCMFMAC_PROTO_BCDC 2017-04-19 14:39:44 +03:00
bcdc.c brcmfmac: remove reference to fwsignal data from struct brcmf_pub 2017-04-13 17:07:22 +03:00
bcdc.h brcmfmac: remove reference to fwsignal data from struct brcmf_pub 2017-04-13 17:07:22 +03:00
bcmsdh.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
btcoex.c brcmfmac: btcoex: replace init_timer with setup_timer 2017-05-22 18:18:05 +03:00
btcoex.h
bus.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
cfg80211.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
cfg80211.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
chip.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
chip.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
common.c brcmfmac: Use request_firmware_direct for the clm_blob 2020-11-06 09:19:41 +01:00
common.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
commonring.c
commonring.h
core.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
core.h MLK-18675-20 brcmfmac: Support wake on ping packet 2018-10-29 11:10:38 +08:00
debug.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
debug.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
feature.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
feature.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
firmware.c brcmfmac: Log chip id and revision 2017-08-31 15:58:39 +03:00
firmware.h brcmfmac: add parameter to pass error code in firmware callback 2017-06-15 19:06:00 +03:00
flowring.c brcmfmac: use correct skb freeing helper when deleting flowring 2016-09-27 18:47:55 +03:00
flowring.h
fweh.c brcmfmac: Add check for short event packets 2017-10-02 16:51:21 +03:00
fweh.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
fwil.c
fwil.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
fwil_types.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
fwsignal.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
fwsignal.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
msgbuf.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
msgbuf.h brcmfmac: add pcie host dongle interface rev6 support 2016-11-29 17:29:24 +02:00
of.c MLK-18675-03 brcmfmac: Add sg parameters dts parsing 2018-10-29 11:10:38 +08:00
of.h brcmfmac: make brcmf_of_probe more generic 2017-01-19 14:45:13 +02:00
p2p.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
p2p.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
pcie.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
pcie.h
pno.c MLK-18675-17 brcmfmac: fix system warning message during wowl suspend 2018-10-29 11:10:38 +08:00
pno.h brcmfmac: add support multi-scheduled scan 2017-06-13 09:57:49 +03:00
proto.c brcmfmac: proto: add callback for queuing TX data 2016-11-09 03:30:32 +02:00
proto.h brcmfmac: wrap brcmf_fws_init into bcdc layer 2017-04-05 15:40:59 +03:00
sdio.c net: brcm80211: Remove debug info 2020-10-08 20:41:29 +02:00
sdio.h brcmfmac: move 32K wifi clock from brcmfmac driver to wifi-pwrseq 2020-10-08 01:32:19 +02:00
tracepoint.c brcmfmac: add missing header dependencies 2016-09-03 13:10:13 +03:00
tracepoint.h
usb.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
usb.h
vendor.c brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00
vendor.h brcmfmac: merge in latest driver from Cypress (including required wifi core module updates) 2020-10-08 01:31:33 +02:00