public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] mtd: nand: wait for tWHR after NAND_CMD_STATUS / NAND_CMD_READID
@ 2017-09-26  3:39 Masahiro Yamada
  2017-09-26  6:43 ` Boris Brezillon
  0 siblings, 1 reply; 4+ messages in thread
From: Masahiro Yamada @ 2017-09-26  3:39 UTC (permalink / raw)
  To: linux-mtd
  Cc: Masahiro Yamada, Cyrille Pitchen, linux-kernel, Boris Brezillon,
	Marek Vasut, Brian Norris, Richard Weinberger, David Woodhouse

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 */
 		return;
 
 	case NAND_CMD_RNDIN:
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-09-26  8:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2017-09-26  8:17   ` Masahiro Yamada
2017-09-26  8:23     ` Boris Brezillon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox