linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mtd: rawnand: call onfi_fill_data_interface() once again after nand_detect
@ 2019-02-07  9:57 Masahiro Yamada
  2019-02-07 10:16 ` Miquel Raynal
  0 siblings, 1 reply; 7+ messages in thread
From: Masahiro Yamada @ 2019-02-07  9:57 UTC (permalink / raw)
  To: linux-mtd, Boris Brezillon, Miquel Raynal
  Cc: Marek Vasut, Richard Weinberger, Boris Brezillon, linux-kernel,
	Masahiro Yamada, Brian Norris, David Woodhouse

nand_scan_ident() calls onfi_fill_data_interface() at its entry
to set up the initial timing parameters.

The timing parameters are needed not only for ->setup_data_interface(),
but also for giving the correct delay to NAND_OP_WAIT_RDY, for example.

If the driver sets the NAND_KEEP_TIMINGS flag, or does not support
->setup_data_interface() hook, those parameters will never updated.

Before nand_detect(), we never know whether the chip is ONFi or not.
So, onfi_fill_data_interface() has to assume the worst case, i.e.
non-ONFi.

After nand_detect(), if the chip turns out to be ONFi-compliant,
we can optimize tPROG_max, tBERS_max, etc.

Call onfi_fill_data_interface() once again.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 drivers/mtd/nand/raw/nand_base.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index 9b3d7ff..35e543c 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -5040,6 +5040,9 @@ static int nand_scan_ident(struct nand_chip *chip, unsigned int maxchips,
 
 	nand_deselect_target(chip);
 
+	/* If the chip turns out ONFi, we can optimize timing parameters. */
+	onfi_fill_data_interface(chip, NAND_SDR_IFACE, 0);
+
 	/* Check for a chip array */
 	for (i = 1; i < maxchips; i++) {
 		u8 id[2];
-- 
2.7.4


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

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

end of thread, other threads:[~2019-02-08 21:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-07  9:57 [PATCH] mtd: rawnand: call onfi_fill_data_interface() once again after nand_detect Masahiro Yamada
2019-02-07 10:16 ` Miquel Raynal
2019-02-07 10:46   ` Masahiro Yamada
2019-02-07 10:51     ` Masahiro Yamada
2019-02-07 13:01     ` Miquel Raynal
2019-02-08  8:35       ` Masahiro Yamada
2019-02-08 21:45         ` Miquel Raynal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).