mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
56 lines
2.2 KiB
Diff
56 lines
2.2 KiB
Diff
|
From 58e4bbea0c1d9b5ace11df968c5dc096ce052a73 Mon Sep 17 00:00:00 2001
|
||
|
From: Madhan Mohan R <MadhanMohan.R@cypress.com>
|
||
|
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 <arend.vanspriel@broadcom.com>
|
||
|
Signed-off-by: Madhan Mohan R <madhanmohan.r@cypress.com>
|
||
|
Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
|
||
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||
|
---
|
||
|
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
|