Skip to contentSkip to conversation

mtd: nand: Changes for 5.11

GIT PULL Miquel Raynal 1 participant 1 message Dec 15, 2020 Memory technology devices (MTD)

lore
Share & tools
lore

Miquel Raynal

author maintainer
#0 lore raw

Hello,

This is the NAND PR for 5.11.

Thanks,
Miquèl

The following changes since commit b65054597872ce3aefbc6a666385eabdf9e288da:

Linux 5.10-rc6 (2020-11-29 15:50:50 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/nand/for-5.11

for you to fetch changes up to ee4e0eafa43cfd9008722fe15e17b8bf62fb6e8d:

mtd: spinand: macronix: Add support for MX35LFxG24AD (2020-12-10 22:37:54 +0100)

----------------------------------------------------------------
Generic NAND core:
* ECC management:
- Add an I/O request tweaking mechanism
- Entire rework of the software BCH ECC driver, creation of a real ECC engine, getting rid of raw NAND structures, migration to more generic prototypes, misc fixes and style cleanup. Moved now to the Generic NAND layer.
- Entire rework of the software Hamming ECC driver, creation of a real ECC engine, getting rid of raw NAND structures, misc renames, comment updates, cleanup, and style fixes. Moved now to the generic NAND layer.
- Necessary plumbing at the NAND level to retrieve generic NAND ECC engines (softwares and on-die).
- Update of the bindings.

Raw NAND core:
* Geting rid of the chip->ecc.priv entry.
* Fix miscellaneous typos in kernel-doc

Raw NAND controller drivers:
* AU1550: Ensure the presence of the right includes
* Davinci: Do not use extra dereferencing
* GPMI:
- Fix the driver only sense CS0 R/B issue
- Fix the random DMA timeout issue
- Use a single line for of_device_id
- Use of_device_get_match_data()
- Fix reference count leak in gpmi ops
- Cleanup makefile
- Fix binding matching of clocks on different SoCs
* Ingenic: remove redundant get_device() in ingenic_ecc_get()
* Intel LGM: New NAND controller driver
* Marvell: Drop useless line
* Meson:
- Fix a resource leak in init
- Fix meson_nfc_dma_buffer_release() arguments
* mxc:
- Use device_get_match_data()
- Use a single line for of_device_id
- Remove platform data support
* Qcom:
- Add support for SDX55
- Support for IPQ6018 QPIC NAND controller
- Fix DMA sync on FLASH_STATUS register read
* Rockchip: New NAND controller driver for RK3308, RK2928 and others
* Sunxi: Add MDMA support

SPI-NAND core:
* Creation of a SPI-NAND on-die ECC engine
* Move ECC related definitions earlier in the driver
* Fix typo in comment
* Fill a default ECC provider/algorithm
* Remove outdated comment
* Fix OOB read
* Allow the case where there is no ECC engine
* Use the external ECC engine logic

SPI-NAND chip drivers:
* Micron:
- Add support for MT29F2G01AAAED
- Use more specific names
* Macronix:
- Add support for MX35LFxG24AD
- Add support for MX35LFxGE4AD

Others:
* onenand: Use mtd->oops_panic_write as condition
* plat-ram: correctly free memory on error path in platram_probe()

----------------------------------------------------------------
Baskov Evgeiny (1):
mtd: plat-ram: correctly free memory on error path in platram_probe()

Dan Carpenter (1):
mtd: rawnand: meson: Fix a resource leak in init

Fabio Estevam (5):
mtd: rawnand: mxc: Remove platform data support
mtd: rawnand: gpmi: Use of_device_get_match_data()
mtd: rawnand: mxc: Use device_get_match_data()
mtd: rawnand: mxc: Use a single line for of_device_id
mtd: rawnand: gpmi: Use a single line for of_device_id

Han Xu (2):
mtd: rawnand: gpmi: Fix the driver only sense CS0 R/B issue
mtd: rawnand: gpmi: Fix the random DMA timeout issue

Kathiravan T (2):
dt-bindings: qcom_nandc: IPQ6018 QPIC NAND documentation
mtd: rawnand: qcom: Support for IPQ6018 QPIC NAND controller

Krzysztof Kozlowski (1):
dt-bindings: mtd: gpmi-nand: Fix matching of clocks on different SoCs

Manivannan Sadhasivam (2):
dt-bindings: qcom_nandc: Add SDX55 QPIC NAND documentation
mtd: rawnand: qcom: Add NAND controller support for SDX55

Manuel Dipolt (1):
mtd: rawnand: sunxi: Add MDMA support

Marco Felsch (1):
mtd: rawnand: gpmi: cleanup makefile

Mauro Carvalho Chehab (1):
mtd: rawnand: fix a kernel-doc markup

Miquel Raynal (37):
mtd: nand: ecc: Add an I/O request tweaking mechanism
mtd: nand: ecc-bch: Move BCH code to the generic NAND layer
mtd: nand: ecc-bch: Cleanup and style fixes
mtd: nand: ecc-bch: Stop exporting the private structure
mtd: nand: ecc-bch: Return only valid error codes
mtd: nand: ecc-bch: Drop mtd_nand_has_bch()
mtd: nand: ecc-bch: Update the prototypes to be more generic
mtd: nand: ecc-bch: Stop using raw NAND structures
mtd: nand: ecc-bch: Create the software BCH engine
mtd: rawnand: Get rid of chip->ecc.priv
mtd: nand: ecc-hamming: Move Hamming code to the generic NAND layer
mtd: nand: ecc-hamming: Clarify the driver descriptions
mtd: nand: ecc-hamming: Drop/fix the kernel doc
mtd: nand: ecc-hamming: Cleanup and style fixes
mtd: nand: ecc-hamming: Rename the exported functions
mtd: nand: ecc-hamming: Stop using raw NAND structures
mtd: nand: ecc-hamming: Remove useless includes
mtd: nand: ecc-hamming: Let the software Hamming ECC engine be unselected
mtd: nand: ecc-hamming: Create the software Hamming engine
mtd: nand: Let software ECC engines be retrieved from the NAND core
mtd: spinand: Fix typo in comment
mtd: spinand: Move ECC related definitions earlier in the driver
mtd: spinand: Instantiate a SPI-NAND on-die ECC engine
mtd: nand: Let on-die ECC engines be retrieved from the NAND core
mtd: spinand: Fill a default ECC provider/algorithm
mtd: nand: Add helpers to manage ECC engines and configurations
dt-bindings: mtd: Deprecate nand-ecc-mode
mtd: spinand: Use the external ECC engine logic
mtd: spinand: Allow the case where there is no ECC engine
mtd: spinand: Fix OOB read
mtd: spinand: Remove outdated comment
mtd: nand: ecc-hamming: Clarify the logic around rp17
docs: mtd: Avoid htmldocs warnings
mtd: nand: Change dependency between the NAND and ECC cores
mtd: rawnand: au1550: Ensure the presence of the right includes
mtd: rawnand: davinci: Do not use extra dereferencing
mtd: rawnand: marvell: Drop useless line

Praveenkumar I (1):
mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read

Ramuthevar Vadivel Murugan (2):
dt-bindings: mtd: Add Nand Flash Controller support for Intel LGM SoC
mtd: rawnand: Add NAND controller support on Intel LGM SoC

Sergei Antonov (1):
mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments

Thirumalesha Narasimhappa (2):
mtd: spinand: micron: Use more specific names
mtd: spinand: micron: Add support for MT29F2G01AAAED

Thomas Gleixner (1):

      mtd: onenand: Use mtd->oops_panic_write as condition

Yifeng Zhao (2):
dt-bindings: mtd: Describe Rockchip RK3xxx NAND flash controller
mtd: rawnand: rockchip: NFC driver for RK3308, RK2928 and others

YouChing Lin (2):
mtd: spinand: macronix: Add support for MX35LFxGE4AD
mtd: spinand: macronix: Add support for MX35LFxG24AD

Yu Kuai (1):
mtd: rawnand: ingenic: remove redundant get_device() in ingenic_ecc_get()

Zhang Qilong (1):
mtd: rawnand: gpmi: fix reference count leak in gpmi ops

 Documentation/devicetree/bindings/mtd/gpmi-nand.yaml               |   76 +-
 Documentation/devicetree/bindings/mtd/intel,lgm-nand.yaml          |   99 ++
 Documentation/devicetree/bindings/mtd/nand-controller.yaml         |   11 +-
 Documentation/devicetree/bindings/mtd/qcom_nandc.txt               |    4 +
 .../devicetree/bindings/mtd/rockchip,nand-controller.yaml          |  161 ++++
 Documentation/driver-api/mtd/nand_ecc.rst                          |    2 +-
 Documentation/driver-api/mtdnand.rst                               |    3 -
 arch/arm/mach-s3c/common-smdk-s3c24xx.c                            |    2 +-
 arch/arm/mach-s3c/mach-anubis.c                                    |    2 +-
 arch/arm/mach-s3c/mach-at2440evb.c                                 |    2 +-
 arch/arm/mach-s3c/mach-bast.c                                      |    2 +-
 arch/arm/mach-s3c/mach-gta02.c                                     |    2 +-
 arch/arm/mach-s3c/mach-jive.c                                      |    2 +-
 arch/arm/mach-s3c/mach-mini2440.c                                  |    2 +-
 arch/arm/mach-s3c/mach-osiris.c                                    |    2 +-
 arch/arm/mach-s3c/mach-qt2410.c                                    |    2 +-
 arch/arm/mach-s3c/mach-rx3715.c                                    |    2 +-
 arch/arm/mach-s3c/mach-vstms.c                                     |    2 +-
 drivers/mtd/Kconfig                                                |    1 +
 drivers/mtd/maps/plat-ram.c                                        |   11 +-
 drivers/mtd/nand/Kconfig                                           |   33 +-
 drivers/mtd/nand/Makefile                                          |    2 +
 drivers/mtd/nand/core.c                                            |  124 +++
 drivers/mtd/nand/ecc-sw-bch.c                                      |  406 ++++++++
 drivers/mtd/nand/{raw/nand_ecc.c => ecc-sw-hamming.c}              |  315 ++++--
 drivers/mtd/nand/ecc.c                                             |  140 ++-
 drivers/mtd/nand/onenand/onenand_omap2.c                           |   16 +-
 drivers/mtd/nand/raw/Kconfig                                       |   45 +-
 drivers/mtd/nand/raw/Makefile                                      |    4 +-
 drivers/mtd/nand/raw/au1550nd.c                                    |    1 +
 drivers/mtd/nand/raw/cs553x_nand.c                                 |    3 +-
 drivers/mtd/nand/raw/davinci_nand.c                                |   38 +-
 drivers/mtd/nand/raw/fsl_elbc_nand.c                               |    1 -
 drivers/mtd/nand/raw/fsl_ifc_nand.c                                |    1 -
 drivers/mtd/nand/raw/fsl_upm.c                                     |    1 -
 drivers/mtd/nand/raw/fsmc_nand.c                                   |    5 +-
 drivers/mtd/nand/raw/gpmi-nand/Makefile                            |    3 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c                         |   76 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-regs.h                         |    1 +
 drivers/mtd/nand/raw/ingenic/ingenic_ecc.c                         |    2 -
 drivers/mtd/nand/raw/intel-nand-controller.c                       |  721 ++++++++++++++
 drivers/mtd/nand/raw/lpc32xx_mlc.c                                 |    1 -
 drivers/mtd/nand/raw/lpc32xx_slc.c                                 |    3 +-
 drivers/mtd/nand/raw/marvell_nand.c                                |    6 -
 drivers/mtd/nand/raw/meson_nand.c                                  |    7 +-
 drivers/mtd/nand/raw/mxc_nand.c                                    |   94 +-
 drivers/mtd/nand/raw/mxic_nand.c                                   |    2 +-
 drivers/mtd/nand/raw/nand_base.c                                   |  204 ++--
 drivers/mtd/nand/raw/nand_bbt.c                                    |    2 +-
 drivers/mtd/nand/raw/nand_bch.c                                    |  219 -----
 drivers/mtd/nand/raw/nand_legacy.c                                 |    9 +-
 drivers/mtd/nand/raw/nandsim.c                                     |    3 +-
 drivers/mtd/nand/raw/ndfc.c                                        |    3 +-
 drivers/mtd/nand/raw/omap2.c                                       |   31 +-
 drivers/mtd/nand/raw/pasemi_nand.c                                 |    1 -
 drivers/mtd/nand/raw/qcom_nandc.c                                  |   74 +-
 drivers/mtd/nand/raw/rockchip-nand-controller.c                    | 1495 +++++++++++++++++++++++++++++
 drivers/mtd/nand/raw/s3c2410.c                                     |    1 -
 drivers/mtd/nand/raw/sharpsl.c                                     |    3 +-
 drivers/mtd/nand/raw/sunxi_nand.c                                  |  148 +--
 drivers/mtd/nand/raw/tmio_nand.c                                   |    7 +-
 drivers/mtd/nand/raw/txx9ndfmc.c                                   |    5 +-
 drivers/mtd/nand/spi/Kconfig                                       |    1 +
 drivers/mtd/nand/spi/core.c                                        |  286 ++++--
 drivers/mtd/nand/spi/macronix.c                                    |   47 +
 drivers/mtd/nand/spi/micron.c                                      |  124 ++-
 drivers/mtd/sm_ftl.c                                               |   30 +-
 drivers/mtd/tests/mtd_nandecctest.c                                |   31 +-
 include/linux/mtd/nand-ecc-sw-bch.h                                |   73 ++
 include/linux/mtd/nand-ecc-sw-hamming.h                            |   91 ++
 include/linux/mtd/nand.h                                           |   56 ++
 include/linux/mtd/nand_bch.h                                       |   66 --
 include/linux/mtd/nand_ecc.h                                       |   39 -
 include/linux/mtd/rawnand.h                                        |   19 +-
 include/linux/mtd/sharpsl.h                                        |    1 -
 include/linux/mtd/spinand.h                                        |    9 +
 include/linux/platform_data/mtd-mxc_nand.h                         |   19 -
 77 files changed, 4540 insertions(+), 998 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/intel,lgm-nand.yaml
 create mode 100644 Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
 create mode 100644 drivers/mtd/nand/ecc-sw-bch.c
 rename drivers/mtd/nand/{raw/nand_ecc.c => ecc-sw-hamming.c} (61%)
 create mode 100644 drivers/mtd/nand/raw/intel-nand-controller.c
 delete mode 100644 drivers/mtd/nand/raw/nand_bch.c
 create mode 100644 drivers/mtd/nand/raw/rockchip-nand-controller.c
 create mode 100644 include/linux/mtd/nand-ecc-sw-bch.h
 create mode 100644 include/linux/mtd/nand-ecc-sw-hamming.h
 delete mode 100644 include/linux/mtd/nand_bch.h
 delete mode 100644 include/linux/mtd/nand_ecc.h
 delete mode 100644 include/linux/platform_data/mtd-mxc_nand.h

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