[PATCH v5 0/6] mtd: rawnand: atmel: Convert the driver to exec_op()

Tudor Ambarus tudor.ambarus at microchip.com
Mon Jul 20 09:13:50 EDT 2020


Hi,

v5 drops an unused var in atmel_smc_nand_exec_op().

v4 is just a rebase which fixes some small conflicts. There is still
a small perf degradation on the write path on sama5, but that can be
addressed separately. Below is Boris's cover letter from v3.

Cheers,
ta

Hello,

This v3 addresses a few problems reported by Tudor (one of the fix has
been sent separately [1]). There's still a perf regression on sama5
(200KB/s drop in the write path), but it seems to be related to a core
change (when switching to exec_op(), the page_prog_end() does a
read_status() which was not present in cmdfunc()) and the fact that
the NFC is bad at handling simple commands.

What's probably more worrisome is the difference between the NFC and
the !NFC case (not introduced by this series). I suspect it was to do
with HSMC specific timings, or maybe the NFC simply behaves poorly
compared to direct bus accesses. In any case, this issue is orthogonal
to the exec_op() conversion, and can, IMHO, be addressed separately.

Regards,

Boris

[1]https://patchwork.ozlabs.org/project/linux-mtd/patch/20200518155237.297549-1-boris.brezillon@collabora.com/

Boris Brezillon (6):
  mtd: rawnand: atmel: Enable the NFC controller at probe time
  mtd: rawnand: atmel: Drop redundant nand_read_page_op()
  mtd: rawnand: atmel: Use nand_{write,read}_data_op()
  mtd: rawnand: atmel: Use nand_prog_page_end_op()
  mtd: rawnand: atmel: Convert the driver to exec_op()
  mtd: rawnand: atmel: Get rid of the legacy interface implementation

 drivers/mtd/nand/raw/atmel/nand-controller.c | 410 +++++++++++--------
 1 file changed, 233 insertions(+), 177 deletions(-)

-- 
2.25.1




More information about the linux-mtd mailing list