public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v5 0/3] mtd: nand: vf610_nfc: make use of ->exec_op()
@ 2018-02-26 21:18 Stefan Agner
  2018-02-26 21:18 ` [PATCH v5 1/3] " Stefan Agner
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Stefan Agner @ 2018-02-26 21:18 UTC (permalink / raw)
  To: miquel.raynal, boris.brezillon
  Cc: computersforpeace, dwmw2, marek.vasut, cyrille.pitchen, richard,
	bpringlemeir, marcel.ziswiler, linux-mtd, stefan

Fifth revision of the rework patchset to use exec_op for NXP
Vybrid (and others) NAND Flash Controller. The most important
change tries to implement a nicer way of handling the endianness
hack.

The driver now passes all MTD tests. The approximate write/read
speed measured by mtd_speedtest is still looking good:

            write            read
original:    4036 KiB/s     13741 KiB/s
v2:          3495 KiB/s     13490 KiB/s
v3:          4469 KiB/s     13490 KiB/s
v5:          4440 KiB/s     13834 KiB/s

--
Stefan

Changes in v5:
- Fix COMMAND_NADDR_BYTES macro (fixes oob/page test issues)
- Renamed page_access to data_access
- Removed unclear debugging messages
- Introduce vf610_nfc_fill_row to avoid code dupplication in
  vf610_nfc_(read|write)_page
- Add patch to enable ONFI SET/GET_FEATURES
- Comment/commit message fixes

Changes in v4:
- Rebased to nand/next
- Simplify filling of address cycles
- Use accessors for SRAM (vf610_nfc_rd_from_sram/vf610_nfc_wr_to_sram)
- Use two op-parser patterns to avoid a single command reading and writing
  in a single operation
- Implement (read|write)_(page|oob)[_raw] to set page_access
- Set and clear vf610_nfc_ecc_mode in ecc (read|write)_page
- Clear/set 16-bit config when 16-bit bus is used and 8-bit access is
  requested

Changes in v3:
- Separate exec_op() callback addition and removal of old callbacks
- Push data into regs in one function
- Readd op parser
- Implement custom read/write page for hardware ECC
- Rely on generic ecc.write_page_raw
- Use nand_read_oob_op instead of nand_read_page_op

Stefan Agner (3):
  mtd: nand: vf610_nfc: make use of ->exec_op()
  mtd: nand: vf610_nfc: remove old hooks
  mtd: nand: vf610_nfc: support ONFI SET/GET_FEATURES commands

 drivers/mtd/nand/raw/vf610_nfc.c | 622 +++++++++++++++++++++++----------------
 1 file changed, 369 insertions(+), 253 deletions(-)

-- 
2.16.2

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

end of thread, other threads:[~2018-03-03 22:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-26 21:18 [PATCH v5 0/3] mtd: nand: vf610_nfc: make use of ->exec_op() Stefan Agner
2018-02-26 21:18 ` [PATCH v5 1/3] " Stefan Agner
2018-02-26 22:04   ` Miquel Raynal
2018-02-27 21:28   ` Boris Brezillon
2018-03-03 22:04     ` Stefan Agner
2018-02-26 21:18 ` [PATCH v5 2/3] mtd: nand: vf610_nfc: remove old hooks Stefan Agner
2018-02-26 21:18 ` [PATCH v5 3/3] mtd: nand: vf610_nfc: support ONFI SET/GET_FEATURES commands Stefan Agner

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