diff options
Diffstat (limited to 'package/kernel/mac80211/patches/314-v4.16-0008-brcmfmac-Clean-up-interrupt-macros.patch')
-rw-r--r-- | package/kernel/mac80211/patches/314-v4.16-0008-brcmfmac-Clean-up-interrupt-macros.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/314-v4.16-0008-brcmfmac-Clean-up-interrupt-macros.patch b/package/kernel/mac80211/patches/314-v4.16-0008-brcmfmac-Clean-up-interrupt-macros.patch new file mode 100644 index 0000000..d732c8e --- /dev/null +++ b/package/kernel/mac80211/patches/314-v4.16-0008-brcmfmac-Clean-up-interrupt-macros.patch @@ -0,0 +1,53 @@ +From 9c3438ed215adba7025268ee1f0b6f7a2af12316 Mon Sep 17 00:00:00 2001 +From: Ian Molton <ian@mnementh.co.uk> +Date: Tue, 19 Dec 2017 13:47:14 +0100 +Subject: [PATCH] brcmfmac: Clean up interrupt macros + +Make it more obvious that this code acually enables interrupts, and +provide nice definitions for the bits in the register. + +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 | 3 ++- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h | 8 +++++--- + 2 files changed, 7 insertions(+), 4 deletions(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +@@ -149,7 +149,8 @@ int brcmf_sdiod_intr_register(struct brc + + /* must configure SDIO_CCCR_IENx to enable irq */ + data = brcmf_sdiod_func0_rb(sdiodev, SDIO_CCCR_IENx, &ret); +- data |= 1 << SDIO_FUNC_1 | 1 << SDIO_FUNC_2 | 1; ++ data |= SDIO_CCCR_IEN_FUNC1 | SDIO_CCCR_IEN_FUNC2 | ++ SDIO_CCCR_IEN_FUNC0; + brcmf_sdiod_func0_wb(sdiodev, SDIO_CCCR_IENx, data, &ret); + + /* redirect, configure and enable io for interrupt signal */ +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h +@@ -24,9 +24,6 @@ + /* Maximum number of I/O funcs */ + #define NUM_SDIO_FUNCS 3 + +-#define SDIO_FUNC_1 1 +-#define SDIO_FUNC_2 2 +- + #define SDIOD_FBR_SIZE 0x100 + + /* io_en */ +@@ -52,6 +49,11 @@ + #define SDIO_CCCR_BRCM_CARDCAP_CMD14_EXT BIT(2) + #define SDIO_CCCR_BRCM_CARDCAP_CMD_NODEC BIT(3) + ++/* Interrupt enable bits for each function */ ++#define SDIO_CCCR_IEN_FUNC0 BIT(0) ++#define SDIO_CCCR_IEN_FUNC1 BIT(1) ++#define SDIO_CCCR_IEN_FUNC2 BIT(2) ++ + #define SDIO_CCCR_BRCM_CARDCTRL 0xf1 + #define SDIO_CCCR_BRCM_CARDCTRL_WLANRESET BIT(1) + |