[PATCH v2 0/2] mtd: nand: wait for tWHR, and fix the setup_data_interface of Denali
Masahiro Yamada
yamada.masahiro at socionext.com
Fri Sep 29 07:06:42 PDT 2017
2017-09-29 21:26 GMT+09:00 Boris Brezillon <boris.brezillon at free-electrons.com>:
> On Fri, 29 Sep 2017 19:38:38 +0900
> Masahiro Yamada <yamada.masahiro at socionext.com> 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.
At first, I thought this was necessary for me,
but I realized it was my misunderstanding.
Please let me explain one more.
See commit 3158fa0e739615769cc047d2428f30f4c3b6640e.
Prior to that commit, READID waited for #R/B transition,
it was wrong, so I fixed it.
However, it dropped the delay completely.
If somebody was implicitly relying on the delay of chip->dev_ready,
the first byte might be read out before the valid data
is available.
This was motivation of v1, where inserted ndelay(200)
unconditionally.
>> mtd: nand: denali: fix setup_data_interface to meet tCCS delay
>
> This one is valid. I'll queue it to nand/next soon.
If you drop 1/2, please let me do v3.
V2 mentions NAND_WAIT_TWHR, this is strange.
--
Best Regards
Masahiro Yamada
More information about the linux-mtd
mailing list