[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1453737313.30130.39.camel@collabora.co.uk>
Date: Mon, 25 Jan 2016 16:55:13 +0100
From: Sjoerd Simons <sjoerd.simons@...labora.co.uk>
To: Arend van Spriel <aspriel@...il.com>,
Kalle Valo <kvalo@...eaurora.org>
Cc: Paul Stewart <pstew@...omium.org>,
Doug Anderson <dianders@...omium.org>,
linux-rockchip@...ts.infradead.org,
Arend van Spriel <arend@...adcom.com>,
Pieter-Paul Giesberts <pieterpg@...adcom.com>,
brcm80211-dev-list@...adcom.com, linux-wireless@...r.kernel.org,
linux-kernel@...r.kernel.org,
Hante Meuleman <meuleman@...adcom.com>,
Brett Rudley <brudley@...adcom.com>, netdev@...r.kernel.org,
"Franky (Zhenhui) Lin" <frankyl@...adcom.com>,
Adrian Hunter <adrian.hunter@...el.com>,
linux-mmc@...r.kernel.org
Subject: Re: [PATCH] brcmfmac: sdio: Increase the default timeouts a bit
On Mon, 2016-01-25 at 16:36 +0100, Arend van Spriel wrote:
> On 25-01-16 11:47, Sjoerd Simons wrote:
> > On a Radxa Rock2 board with a Ampak AP6335 (Broadcom 4339 core) it
> > seems
> > the card responds very quickly most of the time, unfortunately
> > during
> > initialisation it sometimes seems to take just a bit over 2 seconds
> > to
> > respond.
> >
> > This results intialization failing with message like:
> > brcmf_c_preinit_dcmds: Retreiving cur_etheraddr failed, -52
> > brcmf_bus_start: failed: -52
> > brcmf_sdio_firmware_callback: dongle is not responding
> >
> > Increasing the timeout to allow for a bit more headroom allows the
> > card to initialize reliably.
>
> I would prefer to know where the 2 second response time comes from.
> Could be sdio retuning. Maybe the chromeos people can comment whether
> this has been root caused.
The only reference i could find for where the timeout came from was in
the bcmdhd which has:
#define IOCTL_RESP_TIMEOUT 2000 /* In milli second default value
for Production FW */
But not sure if that's helpful :).
> There is a mmc patch pending in which retuning procedure can be
> deferred
> by the driver. Using that API may resolve the issue as well and I
> would
> prefer that solution.
>
> > A quick search online after diagnosing/fixing this showed that
> > Google
> > has a similar patch in their ChromeOS tree, so this doesn't seem
> > specific to the board I'm using.
>
> As the retuning stuff is not in main line I guess we need this fix
> for
> now so...
>
> Acked-by: Arend van Spriel <arend@...adcom.com>
> > Signed-off-by: Sjoerd Simons <sjoerd.simons@...labora.co.uk>
> >
> > ---
> Still would like to know whether it is firmware initialization or
> some
> mmc stack procedure. Any suggestions to debug this are welcome.
>
> Regards,
> Arend
> ---
> >
> > drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git
> > a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> > b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> > index dd66143..75ac4bd 100644
> > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> > @@ -45,8 +45,8 @@
> > #include "chip.h"
> > #include "firmware.h"
> >
> > -#define DCMD_RESP_TIMEOUT msecs_to_jiffies(2000)
> > -#define CTL_DONE_TIMEOUT msecs_to_jiffies(2000)
> > +#define DCMD_RESP_TIMEOUT msecs_to_jiffies(2500)
> > +#define CTL_DONE_TIMEOUT msecs_to_jiffies(2500)
> >
> > #ifdef DEBUG
> >
> >
--
Sjoerd Simons
Collabora Ltd.
Powered by blists - more mailing lists