linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
To: linux-wireless@vger.kernel.org
Cc: brcm80211-dev-list@broadcom.com, brcm80211-dev-list@cypress.com,
	Arend van Spriel <arend.vanspriel@broadcom.com>,
	Franky Lin <franky.lin@broadcom.com>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	Wright Feng <wright.feng@cypress.com>,
	Kalle Valo <kvalo@codeaurora.org>,
	Double Lo <double.lo@cypress.com>,
	Chi-hsien Lin <chi-hsien.lin@cypress.com>
Subject: [PATCH 2/5] brcmfmac: fix 4339 CRC error under SDIO 3.0 SDR104 mode
Date: Wed, 20 May 2020 22:48:35 -0500	[thread overview]
Message-ID: <20200521034838.57371-3-chi-hsien.lin@cypress.com> (raw)
In-Reply-To: <20200521034838.57371-1-chi-hsien.lin@cypress.com>

From: Double Lo <double.lo@cypress.com>

This patch fixes 4339 CRC error while running Tput test with
suspend/resume test script.

The continuous failure messages before system crash:
brcmfmac: brcmf_sdiod_sglist_rw: CMD53 sg block read failed -84
brcmfmac: brcmf_sdio_rxglom: glom read of 25600 bytes failed: -5
brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame
brcmfmac: brcmf_sdiod_sglist_rw: CMD53 sg block read failed -84
brcmfmac: brcmf_sdio_rxglom: glom read of 24576 bytes failed: -5
brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame

Signed-off-by: Double Lo <double.lo@cypress.com>
Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com>
---
 .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index dce22cd2279d..491b635e72b1 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -43,6 +43,10 @@
 #define CY_4373_F2_WATERMARK    0x40
 #define CY_4373_F1_MESBUSYCTRL  (CY_4373_F2_WATERMARK | SBSDIO_MESBUSYCTRL_ENAB)
 #define CY_43012_F2_WATERMARK    0x60
+#define CY_4339_F2_WATERMARK    48
+#define CY_4339_MES_WATERMARK  80
+#define CY_4339_MESBUSYCTRL    (CY_4339_MES_WATERMARK | \
+                                SBSDIO_MESBUSYCTRL_ENAB)
 #define CY_4359_F2_WATERMARK   0x40
 #define CY_4359_F1_MESBUSYCTRL (CY_4359_F2_WATERMARK | SBSDIO_MESBUSYCTRL_ENAB)

@@ -4209,6 +4213,19 @@ static void brcmf_sdio_firmware_callback(struct device *dev, int err,
                        brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl,
                                           &err);
                        break;
+               case SDIO_DEVICE_ID_BROADCOM_4339:
+                       brcmf_dbg(INFO, "set F2 watermark to 0x%x*4 bytes for 4339\n",
+                                 CY_4339_F2_WATERMARK);
+                       brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK,
+                                          CY_4339_F2_WATERMARK, &err);
+                       devctl = brcmf_sdiod_readb(sdiod, SBSDIO_DEVICE_CTL,
+                                                  &err);
+                       devctl |= SBSDIO_DEVCTL_F2WM_ENAB;
+                       brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl,
+                                          &err);
+                       brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_MESBUSYCTRL,
+                                          CY_4339_MESBUSYCTRL, &err);
+                       break;
                case SDIO_DEVICE_ID_BROADCOM_4359:
                        brcmf_dbg(INFO, "set F2 watermark to 0x%x*4 bytes\n",
                                  CY_4359_F2_WATERMARK);
--
2.25.0


This message and any attachments may contain confidential information from Cypress or its subsidiaries. If it has been received in error, please advise the sender and immediately delete this message.

  parent reply	other threads:[~2020-05-21  3:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-21  3:48 [PATCH 0/5] brcmfmac: SDIO parameter change series Chi-Hsien Lin
2020-05-21  3:48 ` [PATCH 1/5] brcmfmac: set F2 blocksize for 4373 Chi-Hsien Lin
2020-05-21  3:48 ` Chi-Hsien Lin [this message]
2020-05-21  3:48 ` [PATCH 3/5] brcmfmac: set F2 blocksize and watermark for 4354/4356 SDIO Chi-Hsien Lin
2020-05-21  3:48 ` [PATCH 4/5] brcmfmac: fix 43455 CRC error under SDIO 3.0 SDR104 mode Chi-Hsien Lin
2020-05-21  3:48 ` [PATCH 5/5] brcmfmac: 43012 Update MES Watermark Chi-Hsien Lin
2020-05-22 10:37 ` [PATCH 0/5] brcmfmac: SDIO parameter change series Kalle Valo
2020-05-22 11:24   ` Chi-Hsien Lin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200521034838.57371-3-chi-hsien.lin@cypress.com \
    --to=chi-hsien.lin@cypress.com \
    --cc=arend.vanspriel@broadcom.com \
    --cc=brcm80211-dev-list@broadcom.com \
    --cc=brcm80211-dev-list@cypress.com \
    --cc=double.lo@cypress.com \
    --cc=franky.lin@broadcom.com \
    --cc=hante.meuleman@broadcom.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=wright.feng@cypress.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).