329-v5.0-0003-brcmfmac-set-SDIO-F1-MesBusyCtrl-for-CYW4373.patch 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. From 58e4bbea0c1d9b5ace11df968c5dc096ce052a73 Mon Sep 17 00:00:00 2001
  2. From: Madhan Mohan R <[email protected]>
  3. Date: Wed, 21 Nov 2018 07:53:45 +0000
  4. Subject: [PATCH] brcmfmac: set SDIO F1 MesBusyCtrl for CYW4373
  5. Along with F2 watermark (existing) configuration, F1 MesBusyCtrl
  6. should be enabled & sdio device RX FIFO watermark should be
  7. configured to avoid overflow errors.
  8. Reviewed-by: Arend van Spriel <[email protected]>
  9. Signed-off-by: Madhan Mohan R <[email protected]>
  10. Signed-off-by: Chi-Hsien Lin <[email protected]>
  11. Signed-off-by: Kalle Valo <[email protected]>
  12. ---
  13. drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 +++
  14. drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h | 9 ++++++++-
  15. 2 files changed, 11 insertions(+), 1 deletion(-)
  16. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
  17. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
  18. @@ -4119,6 +4119,9 @@ static void brcmf_sdio_firmware_callback
  19. devctl |= SBSDIO_DEVCTL_F2WM_ENAB;
  20. brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl,
  21. &err);
  22. + brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_MESBUSYCTRL,
  23. + CY_4373_F2_WATERMARK |
  24. + SBSDIO_MESBUSYCTRL_ENAB, &err);
  25. break;
  26. default:
  27. brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK,
  28. --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
  29. +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
  30. @@ -77,7 +77,7 @@
  31. #define SBSDIO_GPIO_OUT 0x10006
  32. /* gpio enable */
  33. #define SBSDIO_GPIO_EN 0x10007
  34. -/* rev < 7, watermark for sdio device */
  35. +/* rev < 7, watermark for sdio device TX path */
  36. #define SBSDIO_WATERMARK 0x10008
  37. /* control busy signal generation */
  38. #define SBSDIO_DEVICE_CTL 0x10009
  39. @@ -104,6 +104,13 @@
  40. #define SBSDIO_FUNC1_RFRAMEBCHI 0x1001C
  41. /* MesBusyCtl (rev 11) */
  42. #define SBSDIO_FUNC1_MESBUSYCTRL 0x1001D
  43. +/* Watermark for sdio device RX path */
  44. +#define SBSDIO_MESBUSY_RXFIFO_WM_MASK 0x7F
  45. +#define SBSDIO_MESBUSY_RXFIFO_WM_SHIFT 0
  46. +/* Enable busy capability for MES access */
  47. +#define SBSDIO_MESBUSYCTRL_ENAB 0x80
  48. +#define SBSDIO_MESBUSYCTRL_ENAB_SHIFT 7
  49. +
  50. /* Sdio Core Rev 12 */
  51. #define SBSDIO_FUNC1_WAKEUPCTRL 0x1001E
  52. #define SBSDIO_FUNC1_WCTRL_ALPWAIT_MASK 0x1