All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arend Van Spriel <arend.vanspriel@broadcom.com>
To: Douglas Anderson <dianders@chromium.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	Adrian Hunter <adrian.hunter@intel.com>
Cc: linux-rockchip@lists.infradead.org,
	Double Lo <double.lo@cypress.com>,
	briannorris@chromium.org,
	Madhan Mohan R <madhanmohan.r@cypress.com>,
	mka@chromium.org, Wright Feng <wright.feng@cypress.com>,
	Chi-Hsien Lin <chi-hsien.lin@cypress.com>,
	linux-mmc@vger.kernel.org, Shawn Lin <shawn.lin@rock-chips.com>,
	brcm80211-dev-list@cypress.com,
	YueHaibing <yuehaibing@huawei.com>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	Martin Hicks <mort@bork.org>,
	Ritesh Harjani <riteshh@codeaurora.org>,
	Michael Trimarchi <michael@amarulasolutions.com>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Franky Lin <franky.lin@broadcom.com>,
	Jiong Wu <lohengrin1024@gmail.com>,
	brcm80211-dev-list.pdl@broadcom.com,
	"David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Naveen Gupta <naveen.gupta@cypress.com>,
	Avri Altman <avri.altman@wdc.com>
Subject: Re: [PATCH 0/3] brcmfmac: sdio: Deal better w/ transmission errors waking from sleep
Date: Mon, 20 May 2019 10:55:12 +0200	[thread overview]
Message-ID: <8c3fa57a-3843-947c-ec6b-a6144ccde1e9@broadcom.com> (raw)
In-Reply-To: <20190517225420.176893-1-dianders@chromium.org>

On 5/18/2019 12:54 AM, Douglas Anderson wrote:
> This series attempts to deal better with the expected transmission
> errors that we get when waking up the SDIO-based WiFi on
> rk3288-veyron-minnie, rk3288-veyron-speedy, and rk3288-veyron-mickey.
> 
> Some details about those errors can be found in
> <https://crbug.com/960222>, but to summarize it here: if we try to
> send the wakeup command to the WiFi card at the same time it has
> decided to wake up itself then it will behave badly on the SDIO bus.
> This can cause timeouts or CRC errors.
> 
> When I tested on 4.19 and 4.20 these CRC errors can be seen to cause
> re-tuning.  Since I am currently developing on 4.19 this was the
> original problem I attempted to solve.
> 
> On mainline it turns out that you don't see the retuning errors but
> you see tons of spam about timeouts trying to wakeup from sleep.  I
> tracked down the commit that was causing that and have partially
> reverted it here.  I have no real knowledge about Broadcom WiFi, but
> the commit that was causing problems sounds (from the descriptioin) to
> be a hack commit penalizing all Broadcom WiFi users because of a bug
> in a Cypress SD controller.  I will let others comment if this is
> truly the case and, if so, what the right solution should be.

Let me give a bit of background. The brcmfmac driver implements its own 
runtime-pm like functionality, ie. if the driver is idle for some time 
it will put the device in a low-power state. When it does that it powers 
down several cores in the chip among which the SDIO core. However, the 
SDIO bus used be very bad at handling devices that do that so instead it 
has the Always-On-Station (AOS) block take over the SDIO core in 
handling the bus. Default is will send a R1 response, but only for CMD52 
(and CMD14 but no host is using that cruft). In noCmdDecode it does not 
respond and simply wakes up the SDIO core, which takes over again. 
Because it does not respond timeouts (-110) are kinda expected in this mode.

Regards,
Arend

WARNING: multiple messages have this Message-ID
From: Arend Van Spriel <arend.vanspriel@broadcom.com>
To: Douglas Anderson <dianders@chromium.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	Adrian Hunter <adrian.hunter@intel.com>
Cc: linux-rockchip@lists.infradead.org,
	Double Lo <double.lo@cypress.com>,
	briannorris@chromium.org,
	Madhan Mohan R <madhanmohan.r@cypress.com>,
	mka@chromium.org, Wright Feng <wright.feng@cypress.com>,
	Chi-Hsien Lin <chi-hsien.lin@cypress.com>,
	linux-mmc@vger.kernel.org, Shawn Lin <shawn.lin@rock-chips.com>,
	brcm80211-dev-list@cypress.com,
	YueHaibing <yuehaibing@huawei.com>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	Martin Hicks <mort@bork.org>,
	Ritesh Harjani <riteshh@codeaurora.org>,
	Michael Trimarchi <michael@amarulasolutions.com>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Franky Lin <franky.lin@broadcom.com>,
	Jiong Wu <lohengrin1024@gmail.com>,
	brcm80211-dev-list.pdl@broadcom.com,
	"David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.orgli
Subject: Re: [PATCH 0/3] brcmfmac: sdio: Deal better w/ transmission errors waking from sleep
Date: Mon, 20 May 2019 10:55:12 +0200	[thread overview]
Message-ID: <8c3fa57a-3843-947c-ec6b-a6144ccde1e9@broadcom.com> (raw)
In-Reply-To: <20190517225420.176893-1-dianders@chromium.org>

On 5/18/2019 12:54 AM, Douglas Anderson wrote:
> This series attempts to deal better with the expected transmission
> errors that we get when waking up the SDIO-based WiFi on
> rk3288-veyron-minnie, rk3288-veyron-speedy, and rk3288-veyron-mickey.
> 
> Some details about those errors can be found in
> <https://crbug.com/960222>, but to summarize it here: if we try to
> send the wakeup command to the WiFi card at the same time it has
> decided to wake up itself then it will behave badly on the SDIO bus.
> This can cause timeouts or CRC errors.
> 
> When I tested on 4.19 and 4.20 these CRC errors can be seen to cause
> re-tuning.  Since I am currently developing on 4.19 this was the
> original problem I attempted to solve.
> 
> On mainline it turns out that you don't see the retuning errors but
> you see tons of spam about timeouts trying to wakeup from sleep.  I
> tracked down the commit that was causing that and have partially
> reverted it here.  I have no real knowledge about Broadcom WiFi, but
> the commit that was causing problems sounds (from the descriptioin) to
> be a hack commit penalizing all Broadcom WiFi users because of a bug
> in a Cypress SD controller.  I will let others comment if this is
> truly the case and, if so, what the right solution should be.

Let me give a bit of background. The brcmfmac driver implements its own 
runtime-pm like functionality, ie. if the driver is idle for some time 
it will put the device in a low-power state. When it does that it powers 
down several cores in the chip among which the SDIO core. However, the 
SDIO bus used be very bad at handling devices that do that so instead it 
has the Always-On-Station (AOS) block take over the SDIO core in 
handling the bus. Default is will send a R1 response, but only for CMD52 
(and CMD14 but no host is using that cruft). In noCmdDecode it does not 
respond and simply wakes up the SDIO core, which takes over again. 
Because it does not respond timeouts (-110) are kinda expected in this mode.

Regards,
Arend

  parent reply	other threads:[~2019-05-20  8:55 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-17 22:54 Douglas Anderson
2019-05-17 22:54 ` Douglas Anderson
2019-05-17 22:54 ` [PATCH 1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354 Douglas Anderson
2019-05-20  8:09   ` Arend Van Spriel
2019-05-20 18:20     ` Doug Anderson
2019-05-20 18:20       ` Doug Anderson
     [not found]   ` <20190517225420.176893-2-dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2019-05-28 12:18     ` Kalle Valo
2019-05-28 15:51       ` Doug Anderson
2019-05-28 15:51         ` Doug Anderson
2019-05-28 16:09         ` Arend Van Spriel
2019-05-28 16:09           ` Arend Van Spriel
2019-05-28 16:11           ` Arend Van Spriel
2019-05-28 16:11             ` Arend Van Spriel
2019-06-04  3:20             ` Wright Feng
2019-06-04  3:20               ` Wright Feng
2019-06-04 16:01               ` Doug Anderson
2019-06-04 16:01                 ` Doug Anderson
2019-06-04 16:48                 ` Arend Van Spriel
2019-06-04 16:48                   ` Arend Van Spriel
2019-05-29 14:51         ` Kalle Valo
2019-05-29 14:51           ` Kalle Valo
2019-05-28 12:18   ` Kalle Valo
2019-05-28 12:18     ` Kalle Valo
2019-05-17 22:54 ` [PATCH 2/3] mmc: core: API for temporarily disabling auto-retuning due to errors Douglas Anderson
2019-05-17 22:54   ` Douglas Anderson
2019-05-19  9:06   ` Wolfram Sang
2019-05-19  9:06     ` Wolfram Sang
2019-05-20  8:46     ` Arend Van Spriel
2019-05-20  8:52       ` Wolfram Sang
2019-05-20  8:52         ` Wolfram Sang
2019-05-26 18:42   ` Arend Van Spriel
2019-05-26 18:42     ` Arend Van Spriel
2019-05-28 10:04     ` Adrian Hunter
2019-05-28 11:21       ` Arend Van Spriel
2019-05-28 11:45         ` Adrian Hunter
2019-05-28 15:42           ` Doug Anderson
2019-05-17 22:54 ` [PATCH 3/3] brcmfmac: sdio: Disable auto-tuning around commands expected to fail Douglas Anderson
2019-05-18 15:09 ` [PATCH 0/3] brcmfmac: sdio: Deal better w/ transmission errors waking from sleep Avri Altman
2019-05-18 15:09   ` Avri Altman
2019-05-21  0:23   ` Brian Norris
2019-05-21  0:23     ` Brian Norris
2019-05-20  8:55 ` Arend Van Spriel [this message]
2019-05-20  8:55   ` Arend Van Spriel

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=8c3fa57a-3843-947c-ec6b-a6144ccde1e9@broadcom.com \
    --to=arend.vanspriel@broadcom.com \
    --cc=adrian.hunter@intel.com \
    --cc=avri.altman@wdc.com \
    --cc=brcm80211-dev-list.pdl@broadcom.com \
    --cc=brcm80211-dev-list@cypress.com \
    --cc=briannorris@chromium.org \
    --cc=chi-hsien.lin@cypress.com \
    --cc=davem@davemloft.net \
    --cc=dianders@chromium.org \
    --cc=double.lo@cypress.com \
    --cc=franky.lin@broadcom.com \
    --cc=hante.meuleman@broadcom.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lohengrin1024@gmail.com \
    --cc=madhanmohan.r@cypress.com \
    --cc=michael@amarulasolutions.com \
    --cc=mka@chromium.org \
    --cc=mort@bork.org \
    --cc=naveen.gupta@cypress.com \
    --cc=netdev@vger.kernel.org \
    --cc=riteshh@codeaurora.org \
    --cc=shawn.lin@rock-chips.com \
    --cc=ulf.hansson@linaro.org \
    --cc=wright.feng@cypress.com \
    --cc=wsa+renesas@sang-engineering.com \
    --cc=yuehaibing@huawei.com \
    --subject='Re: [PATCH 0/3] brcmfmac: sdio: Deal better w/ transmission errors waking from sleep' \
    /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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.