12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- From 58e4bbea0c1d9b5ace11df968c5dc096ce052a73 Mon Sep 17 00:00:00 2001
- From: Madhan Mohan R <[email protected]>
- Date: Wed, 21 Nov 2018 07:53:45 +0000
- Subject: [PATCH] brcmfmac: set SDIO F1 MesBusyCtrl for CYW4373
- Along with F2 watermark (existing) configuration, F1 MesBusyCtrl
- should be enabled & sdio device RX FIFO watermark should be
- configured to avoid overflow errors.
- Reviewed-by: Arend van Spriel <[email protected]>
- Signed-off-by: Madhan Mohan R <[email protected]>
- Signed-off-by: Chi-Hsien Lin <[email protected]>
- Signed-off-by: Kalle Valo <[email protected]>
- ---
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 +++
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h | 9 ++++++++-
- 2 files changed, 11 insertions(+), 1 deletion(-)
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
- @@ -4119,6 +4119,9 @@ static void brcmf_sdio_firmware_callback
- devctl |= SBSDIO_DEVCTL_F2WM_ENAB;
- brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl,
- &err);
- + brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_MESBUSYCTRL,
- + CY_4373_F2_WATERMARK |
- + SBSDIO_MESBUSYCTRL_ENAB, &err);
- break;
- default:
- brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK,
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h
- @@ -77,7 +77,7 @@
- #define SBSDIO_GPIO_OUT 0x10006
- /* gpio enable */
- #define SBSDIO_GPIO_EN 0x10007
- -/* rev < 7, watermark for sdio device */
- +/* rev < 7, watermark for sdio device TX path */
- #define SBSDIO_WATERMARK 0x10008
- /* control busy signal generation */
- #define SBSDIO_DEVICE_CTL 0x10009
- @@ -104,6 +104,13 @@
- #define SBSDIO_FUNC1_RFRAMEBCHI 0x1001C
- /* MesBusyCtl (rev 11) */
- #define SBSDIO_FUNC1_MESBUSYCTRL 0x1001D
- +/* Watermark for sdio device RX path */
- +#define SBSDIO_MESBUSY_RXFIFO_WM_MASK 0x7F
- +#define SBSDIO_MESBUSY_RXFIFO_WM_SHIFT 0
- +/* Enable busy capability for MES access */
- +#define SBSDIO_MESBUSYCTRL_ENAB 0x80
- +#define SBSDIO_MESBUSYCTRL_ENAB_SHIFT 7
- +
- /* Sdio Core Rev 12 */
- #define SBSDIO_FUNC1_WAKEUPCTRL 0x1001E
- #define SBSDIO_FUNC1_WCTRL_ALPWAIT_MASK 0x1
|