Re: [PATCH] mtd: nand: wait for tWHR after NAND_CMD_STATUS / NAND_CMD_READID

From: Boris Brezillon
Date: Tue Sep 26 2017 - 04:23:53 EST


On Tue, 26 Sep 2017 17:17:49 +0900
Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote:

> 2017-09-26 15:43 GMT+09:00 Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>:
> > On Tue, 26 Sep 2017 12:39:24 +0900
> > Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>
> >> ---
> >
>
>
> OK, will do.
>
>
>
> BTW, I see unconditional wait for tWB a few lines below,
> but it gives no performance regression because we will wait
> much longer in nand_wait_ready().

Yep, but this one is here for quite some time. Normally there should be
no problem with your ndelay(200), but I don't want to take the risk
and have someone complain that his NAND controller driver is broken
because of this extra delay ;-).

>
>
> /*
> * Apply this short delay always to ensure that we do wait tWB in
> * any case on any machine.
> */
> ndelay(100);
>
> nand_wait_ready(mtd);
>
>
>
>