All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ulf Hansson <ulf.hansson@linaro.org>
To: Sowjanya Komatineni <skomatineni@nvidia.com>
Cc: Jon Hunter <jonathanh@nvidia.com>,
	Bitan Biswas <bbiswas@nvidia.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Naresh Kamboju <naresh.kamboju@linaro.org>,
	Jens Axboe <axboe@kernel.dk>, Alexei Starovoitov <ast@kernel.org>,
	linux-block <linux-block@vger.kernel.org>,
	lkft-triage@lists.linaro.org,
	open list <linux-kernel@vger.kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	John Stultz <john.stultz@linaro.org>,
	Faiz Abbas <faiz_abbas@ti.com>,
	Thierry Reding <treding@nvidia.com>,
	Anders Roxell <anders.roxell@linaro.org>, Kishon <kishon@ti.com>
Subject: Re: LKFT: arm x15: mmc1: cache flush error -110
Date: Wed, 11 Mar 2020 09:34:22 +0100	[thread overview]
Message-ID: <CAPDyKFqWRGK6LCevwXQoZnRqfMkUDWNUMqbGqnqv+OopmhvBeg@mail.gmail.com> (raw)
In-Reply-To: <41348c8f-6bc7-a5a3-e1ed-9143f60cbdae@nvidia.com>

On Wed, 11 Mar 2020 at 01:19, Sowjanya Komatineni
<skomatineni@nvidia.com> wrote:
>
>
> On 3/10/20 4:10 PM, Sowjanya Komatineni wrote:
> >
> > On 3/10/20 2:59 PM, Sowjanya Komatineni wrote:
> >>
> >> On 3/10/20 10:27 AM, Sowjanya Komatineni wrote:
> >>>
> >>> On 3/10/20 10:09 AM, Ulf Hansson wrote:
> >>>> External email: Use caution opening links or attachments
> >>>>
> >>>>
> >>>> [...]
> >>>>
> >>>>>>>> I would like to get the regression fixed asap, but I also would
> >>>>>>>> like
> >>>>>>>> to avoid reverting patches, unless really necessary. May I
> >>>>>>>> propose the
> >>>>>>>> following two options.
> >>>>>>>>
> >>>>>>>> 1. Find out why polling with ->card_busy() or CMD13, for a CMD6
> >>>>>>>> with
> >>>>>>>> an R1 response doesn't work - and then fix that behaviour.
> >>>>>>>>
> >>>>>>>> 2. Set the mmc->max_busy_timeout to zero for sdhci-tegra, which
> >>>>>>>> makes
> >>>>>>>> the core to always use R1B for CMD6 (and erase). This also
> >>>>>>>> means that
> >>>>>>>> when the cmd->busy_timeout becomes longer than 11s, sdhci-tegra
> >>>>>>>> must
> >>>>>>>> disable the HW busy timeout and just wait "forever".
> >>>>>>>>
> >>>>>>>> If you decide for 2, you can add the software timeout support
> >>>>>>>> on top,
> >>>>>>>> but make that can be considered as a next step of an improvement,
> >>>>>>>> rather than needed as fix. Note that, I believe there are some
> >>>>>>>> support
> >>>>>>>> for software timeout already in the sdhci core, maybe you need to
> >>>>>>>> tweak it a bit for your case, I don't know.
> >>>>>>>>
> >>>>>>>> Kind regards
> >>>>>>>> Uffe
> >>>>>>> Hi Uffe
> >>>>>>>
> >>>>>>> Will go with 2nd option and will send patches out when ready.
> >>>>>> Okay, good.
> >>>>>>
> >>>>>>> BTW, Tegra host also supports
> >>>>>>> SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for
> >>>>>>> data timeout based on host clock when using finite mode (HW busy
> >>>>>>> detection based on DATA TIMEOUT count value when cmd operation
> >>>>>>> timeout
> >>>>>>> is < 11s for tegra host).
> >>>>>>>
> >>>>>>> So, looks like we cant set host max_busy_timeout to 0 for Tegra
> >>>>>>> host to
> >>>>>>> force R1B during SWITCH and SLEEP_AWAKE.
> >>>>>>>
> >>>>>>> So, was thinking to introduce host capability
> >>>>>>> MMC_CAP2_LONG_WAIT_HW_BUSY
> >>>>>>> which can be used for hosts supporting long or infinite HW busy
> >>>>>>> wait
> >>>>>>> detection and will update mmc and mmc_ops drivers to not allow
> >>>>>>> convert
> >>>>>>> R1B to R1B for hosts with this capability during SLEEP_AWAKE and
> >>>>>>> SWITCH.
> >>>>>> That seems reasonable, it becomes probably both easier and
> >>>>>> clearer by
> >>>>>> adding a new host cap.
> >>>>>>
> >>>>>> In any case, let me help out and cook a patch for this for the core
> >>>>>> part (I leave the sdhci change to you). It may be a bit tricky,
> >>>>>> especially since I have currently queued a bunch of new changes for
> >>>>>> v5.7, that enables more users of mmc_poll_for_busy() in the core.
> >>>>>> Maybe I need to temporarily drop them, so we can fix these problems
> >>>>>> first. I will check.
> >>>>>>
> >>>>>> Probably, I would also name the cap MMC_CAP_HW_NEED_RSP_BUSY, as
> >>>>>> that
> >>>>>> seems to be describing the common problem we have for sdhci
> >>>>>> omap/tegra.
> >>>>>>
> >>>>>> Finally, it seems like MMC_CAP_WAIT_WHILE_BUSY should be set for
> >>>>>> sdhci- tegra, so while at it, perhaps you can cook a patch for
> >>>>>> that as
> >>>>>> well.
> >>>>>>
> >>>>>> Kind regards
> >>>>>> Uffe
> >>>>> OK, I sent v1 yesterday. Please ignore them then.
> >>>> Oh, I haven't seen them. In any case, I am ignoring them.
> >>>>
> >>>>> Will send out patches only for HW busy wait modes program based on
> >>>>> cmd
> >>>>> timeout and WAIT_WHILE_BUSY enabled.
> >>>> Great, thanks!
> >>>>
> >>>> Please help test the series I just posted as well, if you have the
> >>>> time ofcourse.
> >>>>
> >>>> Kind regards
> >>>> Uffe
> >>>
> >>> Sure,
> >>>
> >>> Thanks
> >>>
> >>> Sowjanya
> >>
> >>
> >> mmc_sleep() also needs update to force R1B when host sets capability
> >> MMC_CAP_NEED_RSP_BUSY

Yes, I am on it! Thanks!

> >>
> >>
> > Tested patches and they work good.

Great, I am adding your tested-by tag then.

> >
> Sent sdhci-tegra v2 patches
>
> - includes busy wait mode programming based on cmd busy_timeout
>
> - enables MMC_CAP_WAIT_WHILE_BUSY

Sounds great, but I don't see the patches on the mailing list, nor did
they reach the mmc patchtracker.

Seems like you probably need to check your email settings when sending patches.

Kind regards
Uffe

  reply	other threads:[~2020-03-11  8:35 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-13 15:42 LKFT: arm x15: mmc1: cache flush error -110 Naresh Kamboju
2020-02-14  9:09 ` Arnd Bergmann
2020-02-14 12:09   ` Mark Brown
2020-02-19 16:23 ` Ulf Hansson
2020-02-20 17:54   ` Naresh Kamboju
2020-02-21  9:48     ` Ulf Hansson
2020-02-21 19:44       ` Bitan Biswas
2020-02-24 11:16         ` Ulf Hansson
2020-02-24 12:59           ` Adrian Hunter
2020-02-25 10:04           ` Jon Hunter
2020-02-25 11:35             ` Ulf Hansson
2020-02-25 11:41             ` Jon Hunter
2020-02-25 14:26               ` Ulf Hansson
2020-02-25 16:24                 ` Jon Hunter
2020-02-26 15:21                   ` Ulf Hansson
2020-02-26 17:04                     ` Jon Hunter
2020-03-02 13:12                     ` Faiz Abbas
2020-03-02 16:50                       ` Ulf Hansson
2020-03-03 21:35                         ` Ulf Hansson
     [not found]                         ` <5e9b5646-bd48-e55b-54ee-1c2c41fc9218@nvidia.com>
2020-03-04 10:18                           ` Ulf Hansson
2020-03-04 10:32                             ` Ulf Hansson
2020-03-04 16:56                             ` Sowjanya Komatineni
2020-03-04 17:21                               ` Sowjanya Komatineni
2020-03-04 17:26                                 ` Sowjanya Komatineni
2020-03-04 17:51                                   ` Sowjanya Komatineni
2020-03-04 22:35                                     ` Sowjanya Komatineni
2020-03-05  0:20                                       ` Sowjanya Komatineni
2020-03-05  3:06                                         ` Sowjanya Komatineni
2020-03-05 13:05                                         ` Ulf Hansson
2020-03-06  2:44                                           ` Sowjanya Komatineni
2020-03-06 11:14                                             ` Ulf Hansson
2020-03-09 14:07                                               ` Faiz Abbas
2020-03-09 15:57                                                 ` Ulf Hansson
2020-03-09 17:35                                               ` Sowjanya Komatineni
2020-03-10  9:46                                                 ` Ulf Hansson
2020-03-10 16:59                                                   ` Sowjanya Komatineni
2020-03-10 17:09                                                     ` Ulf Hansson
2020-03-10 17:27                                                       ` Sowjanya Komatineni
2020-03-10 21:59                                                         ` Sowjanya Komatineni
2020-03-10 23:10                                                           ` Sowjanya Komatineni
2020-03-11  0:22                                                             ` Sowjanya Komatineni
2020-03-11  8:34                                                               ` Ulf Hansson [this message]
2020-03-19 19:12                                                                 ` Naresh Kamboju
2020-03-20  9:20                                                                   ` Ulf Hansson
2020-03-20  9:49                                                                     ` Greg Kroah-Hartman

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=CAPDyKFqWRGK6LCevwXQoZnRqfMkUDWNUMqbGqnqv+OopmhvBeg@mail.gmail.com \
    --to=ulf.hansson@linaro.org \
    --cc=adrian.hunter@intel.com \
    --cc=anders.roxell@linaro.org \
    --cc=arnd@arndb.de \
    --cc=ast@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=bbiswas@nvidia.com \
    --cc=faiz_abbas@ti.com \
    --cc=john.stultz@linaro.org \
    --cc=jonathanh@nvidia.com \
    --cc=kishon@ti.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=lkft-triage@lists.linaro.org \
    --cc=naresh.kamboju@linaro.org \
    --cc=skomatineni@nvidia.com \
    --cc=treding@nvidia.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 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.