314-v4.16-0008-brcmfmac-Clean-up-interrupt-macros.patch 1.9 KB

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