aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/865-brcmfmac-get-RAM-info-right-before-downloading-PCIe-.patch
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2019-09-09 09:37:53 +0200
committerRafał Miłecki <rafal@milecki.pl>2019-09-09 12:57:56 +0200
commit7393ce8d87d2a06deb231dc1e0ddb46330f9897b (patch)
treee0745c5f095aa518a0155218af7cb3f32059c531 /package/kernel/mac80211/patches/865-brcmfmac-get-RAM-info-right-before-downloading-PCIe-.patch
parentf6de1fa6c6b69ac6282f453f61c894695d11f433 (diff)
downloadupstream-7393ce8d87d2a06deb231dc1e0ddb46330f9897b.tar.gz
upstream-7393ce8d87d2a06deb231dc1e0ddb46330f9897b.tar.bz2
upstream-7393ce8d87d2a06deb231dc1e0ddb46330f9897b.zip
mac80211: brcmfmac: backport more kernel 5.4 changes
Patch getting RAM info got upstreamed. A debugging fs entry for testing reset feature was added. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 681acdcc54d2e59135bb706c38bed942f74ccf74)
Diffstat (limited to 'package/kernel/mac80211/patches/865-brcmfmac-get-RAM-info-right-before-downloading-PCIe-.patch')
-rw-r--r--package/kernel/mac80211/patches/865-brcmfmac-get-RAM-info-right-before-downloading-PCIe-.patch70
1 files changed, 0 insertions, 70 deletions
diff --git a/package/kernel/mac80211/patches/865-brcmfmac-get-RAM-info-right-before-downloading-PCIe-.patch b/package/kernel/mac80211/patches/865-brcmfmac-get-RAM-info-right-before-downloading-PCIe-.patch
deleted file mode 100644
index c7b25714fb..0000000000
--- a/package/kernel/mac80211/patches/865-brcmfmac-get-RAM-info-right-before-downloading-PCIe-.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Subject: [PATCH] brcmfmac: get RAM info right before downloading PCIe firmware
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It's important as brcmf_chip_get_raminfo() also makes sure that memory
-is properly setup. Without it the firmware could report invalid RAM
-address like 0x04000001.
-
-During a normal brcmfmac lifetime brcmf_chip_get_raminfo() is called on
-probe by the brcmf_chip_recognition(). This change allows implementing
-further improvements like handling errors by resetting a device with
-the brcmf_pcie_reset_device() and redownloading a firmware afterwards.
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
----
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 6 ++++--
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h | 1 +
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 6 ++++++
- 3 files changed, 11 insertions(+), 2 deletions(-)
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
-@@ -700,8 +700,10 @@ static u32 brcmf_chip_tcm_rambase(struct
- return 0;
- }
-
--static int brcmf_chip_get_raminfo(struct brcmf_chip_priv *ci)
-+int brcmf_chip_get_raminfo(struct brcmf_chip *pub)
- {
-+ struct brcmf_chip_priv *ci = container_of(pub, struct brcmf_chip_priv,
-+ pub);
- struct brcmf_core_priv *mem_core;
- struct brcmf_core *mem;
-
-@@ -981,7 +983,7 @@ static int brcmf_chip_recognition(struct
- brcmf_chip_set_passive(&ci->pub);
- }
-
-- return brcmf_chip_get_raminfo(ci);
-+ return brcmf_chip_get_raminfo(&ci->pub);
- }
-
- static void brcmf_chip_disable_arm(struct brcmf_chip_priv *chip, u16 id)
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h
-@@ -80,6 +80,7 @@ struct brcmf_buscore_ops {
- void (*activate)(void *ctx, struct brcmf_chip *chip, u32 rstvec);
- };
-
-+int brcmf_chip_get_raminfo(struct brcmf_chip *pub);
- struct brcmf_chip *brcmf_chip_attach(void *ctx,
- const struct brcmf_buscore_ops *ops);
- void brcmf_chip_detach(struct brcmf_chip *chip);
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
-@@ -1780,6 +1780,12 @@ static void brcmf_pcie_setup(struct devi
- nvram_len = fwreq->items[BRCMF_PCIE_FW_NVRAM].nv_data.len;
- kfree(fwreq);
-
-+ ret = brcmf_chip_get_raminfo(devinfo->ci);
-+ if (ret) {
-+ brcmf_err(bus, "Failed to get RAM info\n");
-+ goto fail;
-+ }
-+
- /* Some of the firmwares have the size of the memory of the device
- * defined inside the firmware. This is because part of the memory in
- * the device is shared and the devision is determined by FW. Parse