All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arend Van Spriel <arend.vanspriel@broadcom.com>
To: Doug Anderson <dianders@chromium.org>,
	Wright Feng <Wright.Feng@cypress.com>
Cc: Kalle Valo <kvalo@codeaurora.org>,
	Madhan Mohan R <MadhanMohan.R@cypress.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	"David S. Miller" <davem@davemloft.net>,
	netdev <netdev@vger.kernel.org>,
	"Chi-Hsien Lin" <Chi-Hsien.Lin@cypress.com>,
	Brian Norris <briannorris@chromium.org>,
	"linux-wireless" <linux-wireless@vger.kernel.org>,
	YueHaibing <yuehaibing@huawei.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>,
	<brcm80211-dev-list.pdl@broadcom.com>,
	Matthias Kaehlcke <mka@chromium.org>,
	Naveen Gupta <Naveen.Gupta@cypress.com>,
	"brcm80211-dev-list" <brcm80211-dev-list@cypress.com>,
	Double Lo <Double.Lo@cypress.com>,
	Franky Lin <franky.lin@broadcom.com>
Subject: Re: [PATCH 1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354
Date: Tue, 04 Jun 2019 18:48:57 +0200	[thread overview]
Message-ID: <16b2364c8c0.2764.9b12b7fc0a3841636cfb5e919b41b954@broadcom.com> (raw)
In-Reply-To: <CAD=FV=Wr4WsO7Xmei5GB4X91L_sDN331B1_oH+CPZOeFUkxyMg@mail.gmail.com>

On June 4, 2019 6:01:26 PM Doug Anderson <dianders@chromium.org> wrote:

> Hi,
>
> On Mon, Jun 3, 2019 at 8:20 PM Wright Feng <Wright.Feng@cypress.com> wrote:
>>
>> On 2019/5/29 上午 12:11, Arend Van Spriel wrote:
>> > On May 28, 2019 6:09:21 PM Arend Van Spriel
>> > <arend.vanspriel@broadcom.com> wrote:
>> >
>> >> On May 28, 2019 5:52:10 PM Doug Anderson <dianders@chromium.org> wrote:
>> >>
>> >>> Hi,
>> >>>
>> >>> On Tue, May 28, 2019 at 5:18 AM Kalle Valo <kvalo@codeaurora.org> wrote:
>> >>>>
>> >>>> Douglas Anderson <dianders@chromium.org> wrote:
>> >>>>
>> >>>> > In commit 29f6589140a1 ("brcmfmac: disable command decode in
>> >>>> > sdio_aos") we disabled something called "command decode in sdio_aos"
>> >>>> > for a whole bunch of Broadcom SDIO WiFi parts.
>> >>>> >
>> >>>> > After that patch landed I find that my kernel log on
>> >>>> > rk3288-veyron-minnie and rk3288-veyron-speedy is filled with:
>> >>>> >   brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep
>> >>>> state -110
>> >>>> >
>> >>>> > This seems to happen every time the Broadcom WiFi transitions out of
>> >>>> > sleep mode.  Reverting the part of the commit that affects the
>> >>>> WiFi on
>> >>>> > my boards fixes the problem for me, so that's what this patch does.
>> >>>> >
>> >>>> > Note that, in general, the justification in the original commit
>> >>>> seemed
>> >>>> > a little weak.  It looked like someone was testing on a SD card
>> >>>> > controller that would sometimes die if there were CRC errors on the
>> >>>> > bus.  This used to happen back in early days of dw_mmc (the
>> >>>> controller
>> >>>> > on my boards), but we fixed it.  Disabling a feature on all boards
>> >>>> > just because one SD card controller is broken seems bad.  ...so
>> >>>> > instead of just this patch possibly the right thing to do is to fully
>> >>>> > revert the original commit.
>> >>>> >
>> Since the commit 29f6589140a1 ("brcmfmac: disable command decode in
>> sdio_aos") causes the regression on other SD card controller, it is
>> better to revert it as you mentioned.
>> Actually, without the commit, we hit MMC timeout(-110) and hanged
>> instead of CRC error in our test.
>
> Any chance I can convince you to provide some official tags like
> Reviewed-by or Tested-by on the revert?
>
>> Would you please share the analysis of
>> dw_mmc issue which you fixed? We'd like to compare whether we got the
>> same issue.
>
> I'm not sure there's any single magic commit I can point to.  When I
> started working on dw_mmc it was terrible at handling error cases and
> would often crash / hang / stop all future communication upon certain
> classes or efforts.  There were dozens of problems we've had to fix
> over the years.  These problems showed up when we started supporting
> HS200 / UHS since the tuning phase really stress the error handling of
> the host controller.
>
> I searched and by the time we were supporting Broadcom SDIO cards the
> error handling was already pretty good.  ...but if we hadn't already
> made the error handling more robust for UHS tuning then we would have
> definitely hit these types of problems.  The only problem I remember
> having to solve in dw_mmc that was unique to Broadcom was commit
> 0bdbd0e88cf6 ("mmc: dw_mmc: Don't start commands while busy").  Any
> chance that could be what you're hitting?

That is indeed an issue I recall resulting in -110 errors.

> What host controller are you having problems with?

Knowing that will be a good start.

Regards,
Arend



WARNING: multiple messages have this Message-ID
From: Arend Van Spriel <arend.vanspriel@broadcom.com>
To: Doug Anderson <dianders@chromium.org>,
	Wright Feng <Wright.Feng@cypress.com>
Cc: Kalle Valo <kvalo@codeaurora.org>,
	Madhan Mohan R <MadhanMohan.R@cypress.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	"David S. Miller" <davem@davemloft.net>,
	netdev <netdev@vger.kernel.org>,
	Chi-Hsien Lin <Chi-Hsien.Lin@cypress.com>,
	Brian Norris <briannorris@chromium.org>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	YueHaibing <yuehaibing@huawei.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>,
	brcm80211-dev-list.pdl@broadcom.com,
	Matthias Kaehlcke <mka@chromium.org>,
	Naveen Gupta <Naveen.Gupta@cypress.com>,
	brcm80211-dev-list <brcm80211-dev-list@cypress.com>,
	Double Lo <Double.Lo@cypress.>
Subject: Re: [PATCH 1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354
Date: Tue, 04 Jun 2019 18:48:57 +0200	[thread overview]
Message-ID: <16b2364c8c0.2764.9b12b7fc0a3841636cfb5e919b41b954@broadcom.com> (raw)
In-Reply-To: <CAD=FV=Wr4WsO7Xmei5GB4X91L_sDN331B1_oH+CPZOeFUkxyMg@mail.gmail.com>

On June 4, 2019 6:01:26 PM Doug Anderson <dianders@chromium.org> wrote:

> Hi,
>
> On Mon, Jun 3, 2019 at 8:20 PM Wright Feng <Wright.Feng@cypress.com> wrote:
>>
>> On 2019/5/29 上午 12:11, Arend Van Spriel wrote:
>> > On May 28, 2019 6:09:21 PM Arend Van Spriel
>> > <arend.vanspriel@broadcom.com> wrote:
>> >
>> >> On May 28, 2019 5:52:10 PM Doug Anderson <dianders@chromium.org> wrote:
>> >>
>> >>> Hi,
>> >>>
>> >>> On Tue, May 28, 2019 at 5:18 AM Kalle Valo <kvalo@codeaurora.org> wrote:
>> >>>>
>> >>>> Douglas Anderson <dianders@chromium.org> wrote:
>> >>>>
>> >>>> > In commit 29f6589140a1 ("brcmfmac: disable command decode in
>> >>>> > sdio_aos") we disabled something called "command decode in sdio_aos"
>> >>>> > for a whole bunch of Broadcom SDIO WiFi parts.
>> >>>> >
>> >>>> > After that patch landed I find that my kernel log on
>> >>>> > rk3288-veyron-minnie and rk3288-veyron-speedy is filled with:
>> >>>> >   brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep
>> >>>> state -110
>> >>>> >
>> >>>> > This seems to happen every time the Broadcom WiFi transitions out of
>> >>>> > sleep mode.  Reverting the part of the commit that affects the
>> >>>> WiFi on
>> >>>> > my boards fixes the problem for me, so that's what this patch does.
>> >>>> >
>> >>>> > Note that, in general, the justification in the original commit
>> >>>> seemed
>> >>>> > a little weak.  It looked like someone was testing on a SD card
>> >>>> > controller that would sometimes die if there were CRC errors on the
>> >>>> > bus.  This used to happen back in early days of dw_mmc (the
>> >>>> controller
>> >>>> > on my boards), but we fixed it.  Disabling a feature on all boards
>> >>>> > just because one SD card controller is broken seems bad.  ...so
>> >>>> > instead of just this patch possibly the right thing to do is to fully
>> >>>> > revert the original commit.
>> >>>> >
>> Since the commit 29f6589140a1 ("brcmfmac: disable command decode in
>> sdio_aos") causes the regression on other SD card controller, it is
>> better to revert it as you mentioned.
>> Actually, without the commit, we hit MMC timeout(-110) and hanged
>> instead of CRC error in our test.
>
> Any chance I can convince you to provide some official tags like
> Reviewed-by or Tested-by on the revert?
>
>> Would you please share the analysis of
>> dw_mmc issue which you fixed? We'd like to compare whether we got the
>> same issue.
>
> I'm not sure there's any single magic commit I can point to.  When I
> started working on dw_mmc it was terrible at handling error cases and
> would often crash / hang / stop all future communication upon certain
> classes or efforts.  There were dozens of problems we've had to fix
> over the years.  These problems showed up when we started supporting
> HS200 / UHS since the tuning phase really stress the error handling of
> the host controller.
>
> I searched and by the time we were supporting Broadcom SDIO cards the
> error handling was already pretty good.  ...but if we hadn't already
> made the error handling more robust for UHS tuning then we would have
> definitely hit these types of problems.  The only problem I remember
> having to solve in dw_mmc that was unique to Broadcom was commit
> 0bdbd0e88cf6 ("mmc: dw_mmc: Don't start commands while busy").  Any
> chance that could be what you're hitting?

That is indeed an issue I recall resulting in -110 errors.

> What host controller are you having problems with?

Knowing that will be a good start.

Regards,
Arend

  reply	other threads:[~2019-06-04 16:49 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-17 22:54 [PATCH 0/3] brcmfmac: sdio: Deal better w/ transmission errors waking from sleep 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 [this message]
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
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=16b2364c8c0.2764.9b12b7fc0a3841636cfb5e919b41b954@broadcom.com \
    --to=arend.vanspriel@broadcom.com \
    --cc=Chi-Hsien.Lin@cypress.com \
    --cc=Double.Lo@cypress.com \
    --cc=MadhanMohan.R@cypress.com \
    --cc=Naveen.Gupta@cypress.com \
    --cc=Wright.Feng@cypress.com \
    --cc=adrian.hunter@intel.com \
    --cc=brcm80211-dev-list.pdl@broadcom.com \
    --cc=brcm80211-dev-list@cypress.com \
    --cc=briannorris@chromium.org \
    --cc=davem@davemloft.net \
    --cc=dianders@chromium.org \
    --cc=franky.lin@broadcom.com \
    --cc=hante.meuleman@broadcom.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mka@chromium.org \
    --cc=netdev@vger.kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=yuehaibing@huawei.com \
    --subject='Re: [PATCH 1/3] brcmfmac: re-enable command decode in sdio_aos for BRCM 4354' \
    /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.