This patch series intends to solve various problems. [1] The driver just retrieves the OOB area as-is whereas the controller uses syndrome page layout. [2] ONFi devices are not working [3] It can not read Bad Block Marker
Outstanding changes are: - Fix raw/oob callbacks for syndrome page layout - Implement setup_data_interface() callback - Fix/implement more commands for ONFi devices - Allow to skip the driver internal bounce buffer - Support PIO in case DMA is not supported - Switch from ->cmdfunc over to ->cmd_ctrl 18 patches were merged by v2. 11 patches were merged by v3. 2 patches were merged by v4. 5 patches were merged by v5. Here is the rest of the series. v1: https://lkml.org/lkml/2016/11/26/144 v2: https://lkml.org/lkml/2017/3/22/804 v3: https://lkml.org/lkml/2017/3/30/90 v4: https://lkml.org/lkml/2017/6/5/1005 Masahiro Yamada (16): mtd: nand: denali: set NAND_ECC_CUSTOM_PAGE_ACCESS mtd: nand: denali: remove unneeded find_valid_banks() mtd: nand: denali: handle timing parameters by setup_data_interface() mtd: nand: denali: rework interrupt handling mtd: nand: denali: switch over to cmd_ctrl instead of cmdfunc mtd: nand: denali: fix bank reset function to detect the number of chips mtd: nand: denali: use interrupt instead of polling for bank reset mtd: nand: denali: propagate page to helpers via function argument mtd: nand: denali: merge struct nand_buf into struct denali_nand_info mtd: nand: denali: use flag instead of register macro for direction mtd: nand: denali: fix raw and oob accessors for syndrome page layout mtd: nand: denali: support hardware-assisted erased page detection mtd: nand: denali: skip driver internal bounce buffer when possible mtd: nand: denali: use non-managed kmalloc() for DMA buffer mtd: nand: denali: enable bad block table scan mtd: nand: denali: avoid magic numbers and rename for clarification drivers/mtd/nand/denali.c | 1724 ++++++++++++++++++----------------------- drivers/mtd/nand/denali.h | 63 +- drivers/mtd/nand/denali_dt.c | 15 +- drivers/mtd/nand/denali_pci.c | 22 +- 4 files changed, 806 insertions(+), 1018 deletions(-) -- 2.7.4