aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/314-v4.16-0001-brcmfmac-Remove-r-w-_sdreg32.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/314-v4.16-0001-brcmfmac-Remove-r-w-_sdreg32.patch')
-rw-r--r--package/kernel/mac80211/patches/314-v4.16-0001-brcmfmac-Remove-r-w-_sdreg32.patch227
1 files changed, 0 insertions, 227 deletions
diff --git a/package/kernel/mac80211/patches/314-v4.16-0001-brcmfmac-Remove-r-w-_sdreg32.patch b/package/kernel/mac80211/patches/314-v4.16-0001-brcmfmac-Remove-r-w-_sdreg32.patch
deleted file mode 100644
index 291cd5d787..0000000000
--- a/package/kernel/mac80211/patches/314-v4.16-0001-brcmfmac-Remove-r-w-_sdreg32.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From 3d110df8f74781354051e4bb1e3e97fa368b2f80 Mon Sep 17 00:00:00 2001
-From: Ian Molton <ian@mnementh.co.uk>
-Date: Tue, 19 Dec 2017 13:47:07 +0100
-Subject: [PATCH] brcmfmac: Remove {r,w}_sdreg32
-
-Remove yet another IO function from the code and replace with one
-that already exists.
-
-Signed-off-by: Ian Molton <ian@mnementh.co.uk>
-Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
-[arend: keep address calculation, ie. (base + offset) in one line]
-Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
-Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
----
- .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 88 +++++++++++-----------
- 1 file changed, 42 insertions(+), 46 deletions(-)
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
-@@ -660,30 +660,6 @@ static bool data_ok(struct brcmf_sdio *b
- ((u8)(bus->tx_max - bus->tx_seq) & 0x80) == 0;
- }
-
--/*
-- * Reads a register in the SDIO hardware block. This block occupies a series of
-- * adresses on the 32 bit backplane bus.
-- */
--static int r_sdreg32(struct brcmf_sdio *bus, u32 *regvar, u32 offset)
--{
-- struct brcmf_core *core = bus->sdio_core;
-- int ret;
--
-- *regvar = brcmf_sdiod_readl(bus->sdiodev, core->base + offset, &ret);
--
-- return ret;
--}
--
--static int w_sdreg32(struct brcmf_sdio *bus, u32 regval, u32 reg_offset)
--{
-- struct brcmf_core *core = bus->sdio_core;
-- int ret;
--
-- brcmf_sdiod_writel(bus->sdiodev, core->base + reg_offset, regval, &ret);
--
-- return ret;
--}
--
- static int
- brcmf_sdio_kso_control(struct brcmf_sdio *bus, bool on)
- {
-@@ -1078,6 +1054,8 @@ static void brcmf_sdio_get_console_addr(
-
- static u32 brcmf_sdio_hostmail(struct brcmf_sdio *bus)
- {
-+ struct brcmf_sdio_dev *sdiod = bus->sdiodev;
-+ struct brcmf_core *core = bus->sdio_core;
- u32 intstatus = 0;
- u32 hmb_data;
- u8 fcbits;
-@@ -1086,10 +1064,14 @@ static u32 brcmf_sdio_hostmail(struct br
- brcmf_dbg(SDIO, "Enter\n");
-
- /* Read mailbox data and ack that we did so */
-- ret = r_sdreg32(bus, &hmb_data, SD_REG(tohostmailboxdata));
-+ hmb_data = brcmf_sdiod_readl(sdiod,
-+ core->base + SD_REG(tohostmailboxdata),
-+ &ret);
-+
-+ if (!ret)
-+ brcmf_sdiod_writel(sdiod, core->base + SD_REG(tosbmailbox),
-+ SMB_INT_ACK, &ret);
-
-- if (ret == 0)
-- w_sdreg32(bus, SMB_INT_ACK, SD_REG(tosbmailbox));
- bus->sdcnt.f1regdata += 2;
-
- /* dongle indicates the firmware has halted/crashed */
-@@ -1163,6 +1145,8 @@ static u32 brcmf_sdio_hostmail(struct br
-
- static void brcmf_sdio_rxfail(struct brcmf_sdio *bus, bool abort, bool rtx)
- {
-+ struct brcmf_sdio_dev *sdiod = bus->sdiodev;
-+ struct brcmf_core *core = bus->sdio_core;
- uint retries = 0;
- u16 lastrbc;
- u8 hi, lo;
-@@ -1204,7 +1188,8 @@ static void brcmf_sdio_rxfail(struct brc
-
- if (rtx) {
- bus->sdcnt.rxrtx++;
-- err = w_sdreg32(bus, SMB_NAK, SD_REG(tosbmailbox));
-+ brcmf_sdiod_writel(sdiod, core->base + SD_REG(tosbmailbox),
-+ SMB_NAK, &err);
-
- bus->sdcnt.f1regdata++;
- if (err == 0)
-@@ -2291,6 +2276,7 @@ static uint brcmf_sdio_sendfromq(struct
- {
- struct sk_buff *pkt;
- struct sk_buff_head pktq;
-+ u32 intstat_addr = bus->sdio_core->base + SD_REG(intstatus);
- u32 intstatus = 0;
- int ret = 0, prec_out, i;
- uint cnt = 0;
-@@ -2329,7 +2315,8 @@ static uint brcmf_sdio_sendfromq(struct
- if (!bus->intr) {
- /* Check device status, signal pending interrupt */
- sdio_claim_host(bus->sdiodev->func[1]);
-- ret = r_sdreg32(bus, &intstatus, SD_REG(intstatus));
-+ intstatus = brcmf_sdiod_readl(bus->sdiodev,
-+ intstat_addr, &ret);
- sdio_release_host(bus->sdiodev->func[1]);
- bus->sdcnt.f2txdata++;
- if (ret != 0)
-@@ -2413,12 +2400,13 @@ static int brcmf_sdio_tx_ctrlframe(struc
-
- static void brcmf_sdio_bus_stop(struct device *dev)
- {
-- u32 local_hostintmask;
-- u8 saveclk;
-- int err;
- struct brcmf_bus *bus_if = dev_get_drvdata(dev);
- struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
- struct brcmf_sdio *bus = sdiodev->bus;
-+ struct brcmf_core *core = bus->sdio_core;
-+ u32 local_hostintmask;
-+ u8 saveclk;
-+ int err;
-
- brcmf_dbg(TRACE, "Enter\n");
-
-@@ -2435,7 +2423,9 @@ static void brcmf_sdio_bus_stop(struct d
- brcmf_sdio_bus_sleep(bus, false, false);
-
- /* Disable and clear interrupts at the chip level also */
-- w_sdreg32(bus, 0, SD_REG(hostintmask));
-+ brcmf_sdiod_writel(sdiodev, core->base + SD_REG(hostintmask),
-+ 0, NULL);
-+
- local_hostintmask = bus->hostintmask;
- bus->hostintmask = 0;
-
-@@ -2454,7 +2444,8 @@ static void brcmf_sdio_bus_stop(struct d
- sdio_disable_func(sdiodev->func[SDIO_FUNC_2]);
-
- /* Clear any pending interrupts now that F2 is disabled */
-- w_sdreg32(bus, local_hostintmask, SD_REG(intstatus));
-+ brcmf_sdiod_writel(sdiodev, core->base + SD_REG(intstatus),
-+ local_hostintmask, NULL);
-
- sdio_release_host(sdiodev->func[1]);
- }
-@@ -2521,7 +2512,9 @@ static int brcmf_sdio_intr_rstatus(struc
-
- static void brcmf_sdio_dpc(struct brcmf_sdio *bus)
- {
-+ struct brcmf_sdio_dev *sdiod = bus->sdiodev;
- u32 newstatus = 0;
-+ u32 intstat_addr = bus->sdio_core->base + SD_REG(intstatus);
- unsigned long intstatus;
- uint txlimit = bus->txbound; /* Tx frames to send before resched */
- uint framecnt; /* Temporary counter of tx/rx frames */
-@@ -2576,9 +2569,10 @@ static void brcmf_sdio_dpc(struct brcmf_
- */
- if (intstatus & I_HMB_FC_CHANGE) {
- intstatus &= ~I_HMB_FC_CHANGE;
-- err = w_sdreg32(bus, I_HMB_FC_CHANGE, SD_REG(intstatus));
-+ brcmf_sdiod_writel(sdiod, intstat_addr, I_HMB_FC_CHANGE, &err);
-+
-+ newstatus = brcmf_sdiod_readl(sdiod, intstat_addr, &err);
-
-- err = r_sdreg32(bus, &newstatus, SD_REG(intstatus));
- bus->sdcnt.f1regdata += 2;
- atomic_set(&bus->fcstate,
- !!(newstatus & (I_HMB_FC_STATE | I_HMB_FC_CHANGE)));
-@@ -4017,22 +4011,21 @@ static void brcmf_sdio_firmware_callback
- const struct firmware *code,
- void *nvram, u32 nvram_len)
- {
-- struct brcmf_bus *bus_if;
-- struct brcmf_sdio_dev *sdiodev;
-- struct brcmf_sdio *bus;
-+ struct brcmf_bus *bus_if = dev_get_drvdata(dev);
-+ struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
-+ struct brcmf_sdio *bus = sdiodev->bus;
-+ struct brcmf_sdio_dev *sdiod = bus->sdiodev;
-+ struct brcmf_core *core = bus->sdio_core;
- u8 saveclk;
-
- brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err);
-- bus_if = dev_get_drvdata(dev);
-- sdiodev = bus_if->bus_priv.sdio;
-+
- if (err)
- goto fail;
-
- if (!bus_if->drvr)
- return;
-
-- bus = sdiodev->bus;
--
- /* try to download image and nvram to the dongle */
- bus->alp_only = true;
- err = brcmf_sdio_download_firmware(bus, code, nvram, nvram_len);
-@@ -4063,8 +4056,9 @@ static void brcmf_sdio_firmware_callback
- }
-
- /* Enable function 2 (frame transfers) */
-- w_sdreg32(bus, SDPCM_PROT_VERSION << SMB_DATA_VERSION_SHIFT,
-- SD_REG(tosbmailboxdata));
-+ brcmf_sdiod_writel(sdiod, core->base + SD_REG(tosbmailboxdata),
-+ SDPCM_PROT_VERSION << SMB_DATA_VERSION_SHIFT, NULL);
-+
- err = sdio_enable_func(sdiodev->func[SDIO_FUNC_2]);
-
-
-@@ -4074,7 +4068,9 @@ static void brcmf_sdio_firmware_callback
- if (!err) {
- /* Set up the interrupt mask and enable interrupts */
- bus->hostintmask = HOSTINTMASK;
-- w_sdreg32(bus, bus->hostintmask, SD_REG(hostintmask));
-+ brcmf_sdiod_writel(sdiod, core->base + SD_REG(hostintmask),
-+ bus->hostintmask, NULL);
-+
-
- brcmf_sdiod_writeb(sdiodev, SBSDIO_WATERMARK, 8, &err);
- } else {