From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: linux-mtd@lists.infradead.org,
Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>,
linux-kernel@vger.kernel.org, Marek Vasut <marek.vasut@gmail.com>,
Brian Norris <computersforpeace@gmail.com>,
Richard Weinberger <richard@nod.at>,
David Woodhouse <dwmw2@infradead.org>
Subject: Re: [PATCH] mtd: nand: wait for tWHR after NAND_CMD_STATUS / NAND_CMD_READID
Date: Tue, 26 Sep 2017 08:43:56 +0200 [thread overview]
Message-ID: <20170926084356.553867a1@bbrezillon> (raw)
In-Reply-To: <1506397164-3648-1-git-send-email-yamada.masahiro@socionext.com>
On Tue, 26 Sep 2017 12:39:24 +0900
Masahiro Yamada <yamada.masahiro@socionext.com> wrote:
> Read Status and Read ID require tWHR before reading the first data.
> Insert a very short wait to make sure to meet the spec.
>
> I have not seen any problem report for now, but nand_command() and
> nand_command_lP() are generic hooks, so it makes sense to implement
> fail-safe code here.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
> drivers/mtd/nand/nand_base.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> index b1cf32c..55c0ba5 100644
> --- a/drivers/mtd/nand/nand_base.c
> +++ b/drivers/mtd/nand/nand_base.c
> @@ -742,9 +742,12 @@ static void nand_command(struct mtd_info *mtd, unsigned int command,
> case NAND_CMD_ERASE1:
> case NAND_CMD_ERASE2:
> case NAND_CMD_SEQIN:
> + case NAND_CMD_SET_FEATURES:
> + return;
> +
> case NAND_CMD_STATUS:
> case NAND_CMD_READID:
> - case NAND_CMD_SET_FEATURES:
> + ndelay(200); /* tWHR */
> return;
>
> case NAND_CMD_RESET:
> @@ -871,9 +874,12 @@ static void nand_command_lp(struct mtd_info *mtd, unsigned int command,
> case NAND_CMD_ERASE1:
> case NAND_CMD_ERASE2:
> case NAND_CMD_SEQIN:
> + case NAND_CMD_SET_FEATURES:
> + return;
> +
> case NAND_CMD_STATUS:
> case NAND_CMD_READID:
> - case NAND_CMD_SET_FEATURES:
> + ndelay(200); /* tWHR */
Can you do something like nand_ccs_delay() [1] instead of
unconditionally adding this 200ns delay here? I'm not worried about the
overhead introduced by this ndelay(), but I don't want to risk
introducing a regression.
> return;
>
> case NAND_CMD_RNDIN:
[1]http://elixir.free-electrons.com/linux/v4.14-rc2/source/drivers/mtd/nand/nand_base.c#L793
next prev parent reply other threads:[~2017-09-26 6:44 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-26 3:39 [PATCH] mtd: nand: wait for tWHR after NAND_CMD_STATUS / NAND_CMD_READID Masahiro Yamada
2017-09-26 6:43 ` Boris Brezillon [this message]
2017-09-26 8:17 ` Masahiro Yamada
2017-09-26 8:23 ` Boris Brezillon
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=20170926084356.553867a1@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=computersforpeace@gmail.com \
--cc=cyrille.pitchen@wedev4u.fr \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=marek.vasut@gmail.com \
--cc=richard@nod.at \
--cc=yamada.masahiro@socionext.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.