mac80211: brcmfmac: backport 4.19 patches preparing monitor mode support
[openwrt/staging/wigyori.git] / package / kernel / mac80211 / patches / 314-v4.16-0008-brcmfmac-Clean-up-interrupt-macros.patch
1 From 9c3438ed215adba7025268ee1f0b6f7a2af12316 Mon Sep 17 00:00:00 2001
2 From: Ian Molton <ian@mnementh.co.uk>
3 Date: Tue, 19 Dec 2017 13:47:14 +0100
4 Subject: [PATCH] brcmfmac: Clean up interrupt macros
5
6 Make it more obvious that this code acually enables interrupts, and
7 provide nice definitions for the bits in the register.
8
9 Signed-off-by: Ian Molton <ian@mnementh.co.uk>
10 Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
11 Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
12 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
13 ---
14 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 3 ++-
15 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h | 8 +++++---
16 2 files changed, 7 insertions(+), 4 deletions(-)
17
18 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
19 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
20 @@ -149,7 +149,8 @@ int brcmf_sdiod_intr_register(struct brc
21
22 /* must configure SDIO_CCCR_IENx to enable irq */
23 data = brcmf_sdiod_func0_rb(sdiodev, SDIO_CCCR_IENx, &ret);
24 - data |= 1 << SDIO_FUNC_1 | 1 << SDIO_FUNC_2 | 1;
25 + data |= SDIO_CCCR_IEN_FUNC1 | SDIO_CCCR_IEN_FUNC2 |
26 + SDIO_CCCR_IEN_FUNC0;
27 brcmf_sdiod_func0_wb(sdiodev, SDIO_CCCR_IENx, data, &ret);
28
29 /* redirect, configure and enable io for interrupt signal */
30 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
31 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
32 @@ -24,9 +24,6 @@
33 /* Maximum number of I/O funcs */
34 #define NUM_SDIO_FUNCS 3
35
36 -#define SDIO_FUNC_1 1
37 -#define SDIO_FUNC_2 2
38 -
39 #define SDIOD_FBR_SIZE 0x100
40
41 /* io_en */
42 @@ -52,6 +49,11 @@
43 #define SDIO_CCCR_BRCM_CARDCAP_CMD14_EXT BIT(2)
44 #define SDIO_CCCR_BRCM_CARDCAP_CMD_NODEC BIT(3)
45
46 +/* Interrupt enable bits for each function */
47 +#define SDIO_CCCR_IEN_FUNC0 BIT(0)
48 +#define SDIO_CCCR_IEN_FUNC1 BIT(1)
49 +#define SDIO_CCCR_IEN_FUNC2 BIT(2)
50 +
51 #define SDIO_CCCR_BRCM_CARDCTRL 0xf1
52 #define SDIO_CCCR_BRCM_CARDCTRL_WLANRESET BIT(1)
53