mac80211: rebase ontop of v4.18-rc7
[openwrt/staging/blogic.git] / package / kernel / mac80211 / patches / 314-v4.16-0003-brcmfmac-stabilise-the-value-of-sbwad-in-use-for-som.patch
diff --git a/package/kernel/mac80211/patches/314-v4.16-0003-brcmfmac-stabilise-the-value-of-sbwad-in-use-for-som.patch b/package/kernel/mac80211/patches/314-v4.16-0003-brcmfmac-stabilise-the-value-of-sbwad-in-use-for-som.patch
deleted file mode 100644 (file)
index 3828c32..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-From 874bb8e49b7c6368f8ff9f2566c7bd06a2249be0 Mon Sep 17 00:00:00 2001
-From: Ian Molton <ian@mnementh.co.uk>
-Date: Tue, 19 Dec 2017 13:47:09 +0100
-Subject: [PATCH] brcmfmac: stabilise the value of ->sbwad in use for some xfer
- routines.
-
-The IO functions operate within the Chipcommon IO window. Explicitly
-set this, rather than relying on the last initialisation IO access to
-leave it set to the right value by chance.
-
-Signed-off-by: Ian Molton <ian@mnementh.co.uk>
-Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
-Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
-Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
----
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 8 ++++----
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c   | 5 +++++
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h   | 1 +
- 3 files changed, 10 insertions(+), 4 deletions(-)
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
-@@ -529,7 +529,7 @@ int brcmf_sdiod_recv_buf(struct brcmf_sd
- int brcmf_sdiod_recv_pkt(struct brcmf_sdio_dev *sdiodev, struct sk_buff *pkt)
- {
--      u32 addr = sdiodev->sbwad;
-+      u32 addr = sdiodev->cc_core->base;
-       int err = 0;
-       brcmf_dbg(SDIO, "addr = 0x%x, size = %d\n", addr, pkt->len);
-@@ -552,7 +552,7 @@ int brcmf_sdiod_recv_chain(struct brcmf_
- {
-       struct sk_buff *glom_skb = NULL;
-       struct sk_buff *skb;
--      u32 addr = sdiodev->sbwad;
-+      u32 addr = sdiodev->cc_core->base;
-       int err = 0;
-       brcmf_dbg(SDIO, "addr = 0x%x, size = %d\n",
-@@ -593,7 +593,7 @@ done:
- int brcmf_sdiod_send_buf(struct brcmf_sdio_dev *sdiodev, u8 *buf, uint nbytes)
- {
-       struct sk_buff *mypkt;
--      u32 addr = sdiodev->sbwad;
-+      u32 addr = sdiodev->cc_core->base;
-       int err;
-       mypkt = brcmu_pkt_buf_get_skb(nbytes);
-@@ -625,7 +625,7 @@ int brcmf_sdiod_send_pkt(struct brcmf_sd
-                        struct sk_buff_head *pktq)
- {
-       struct sk_buff *skb;
--      u32 addr = sdiodev->sbwad;
-+      u32 addr = sdiodev->cc_core->base;
-       int err;
-       brcmf_dbg(SDIO, "addr = 0x%x, size = %d\n", addr, pktq->qlen);
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
-@@ -3842,6 +3842,11 @@ brcmf_sdio_probe_attach(struct brcmf_sdi
-       if (!bus->sdio_core)
-               goto fail;
-+      /* Pick up the CHIPCOMMON core info struct, for bulk IO in bcmsdh.c */
-+      sdiodev->cc_core = brcmf_chip_get_core(bus->ci, BCMA_CORE_CHIPCOMMON);
-+      if (!sdiodev->cc_core)
-+              goto fail;
-+
-       sdiodev->settings = brcmf_get_module_param(sdiodev->dev,
-                                                  BRCMF_BUSTYPE_SDIO,
-                                                  bus->ci->chip,
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
-@@ -178,6 +178,7 @@ struct brcmf_sdio_dev {
-       struct sdio_func *func[SDIO_MAX_FUNCS];
-       u8 num_funcs;                   /* Supported funcs on client */
-       u32 sbwad;                      /* Save backplane window address */
-+      struct brcmf_core *cc_core;     /* chipcommon core info struct */
-       struct brcmf_sdio *bus;
-       struct device *dev;
-       struct brcmf_bus *bus_if;