Re: [PATCH v2 0/2] mtd: nand: wait for tWHR, and fix the setup_data_interface of Denali

From: Marc Gonzalez
Date: Wed Oct 04 2017 - 07:05:23 EST

On 29/09/2017 16:33, Masahiro Yamada wrote:

> (+CC Marc Gonzalez)
> 2017-09-29 21:26 GMT+09:00 Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>:
>> On Fri, 29 Sep 2017 19:38:38 +0900
>> Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote:
>>> 1/2 : add NAND_WAIT_TWHR and nand_whr_delay().
>>> You can set this new flag if you want nand_command(_lp)
>>> to insert tWHR delay where needed.
>>> 2/2 : Fix Denali setup_data_interface.
>>> Boris' suggestion in v1 was a good reminder that
>>> made me realize tCCS was missing in the driver. Fix it now.
>>> Changes in v2:
>>> - Add nand_whr_delay() helper
>>> Wait for tWHR only for drivers that explicitly set NAND_WAIT_TWHR flag
>>> - newly added
>>> Masahiro Yamada (2):
>>> mtd: nand: wait for tWHR after NAND_CMD_STATUS / NAND_CMD_READID
>> Hm, I thought you were introducing this to then use it in the denali
>> driver. Sorry, but I don't want to apply something that nobody needs.
>> If someone ever complains about a missing delay I'll point him to your
>> patch, but until then I'll keep the core unchanged.
> Perhaps, Marc Gonzalez is the person.
> tango_nand.c is the only driver that sets NAND_WAIT_TCCS.
> Now, there is completely no delay when reading out the ID.
> One safe change might be apply this patch,
> then set NAND_WAIT_TWHR to tango_nand.c
> I am guessing NAND_WAIT_TCCS was added for it.
> Theoretically, I do not see logical difference between tCCS and tWHR.
> I am CCing Marc Gonzalez, the author of tango_nand.c

Hello Masahiro,

I remember having issues reading the ONFI ID when I was writing
the driver, a year ago. Sometimes, the first few bytes appeared
to be missing. This looked like a timing issue.

Adding the dev_ready call-back solved the problem. Do you think
that was by accident? When I have more time, I will test the 4.14
branch, to see if there are any issues with the current driver.