linux-samsung-r9q2/include/linux/mtd
Rouven Czerwinski f6ca3fb697 mtd: rawnand: Ensure the nand chip supports cached reads
Both the JEDEC and ONFI specification say that read cache sequential
support is an optional command. This means that we not only need to
check whether the individual controller supports the command, we also
need to check the parameter pages for both ONFI and JEDEC NAND flashes
before enabling sequential cache reads.

This fixes support for NAND flashes which don't support enabling cache
reads, i.e. Samsung K9F4G08U0F or Toshiba TC58NVG0S3HTA00.

Sequential cache reads are now only available for ONFI and JEDEC
devices, if individual vendors implement this, it needs to be enabled
per vendor.

Tested on i.MX6Q with a Samsung NAND flash chip that doesn't support
sequential reads.

Fixes: 003fe4b954 ("mtd: rawnand: Support for sequential cache reads")
Cc: stable@vger.kernel.org
Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20230922141717.35977-1-r.czerwinski@pengutronix.de
2023-10-16 10:47:22 +02:00
..
bbm.h mtd: rawnand: Stop using nand_release() 2020-05-31 10:53:40 +02:00
blktrans.h mtd: block: use a simple bool to track open for write 2023-06-12 08:04:04 -06:00
cfi.h mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N 2022-04-28 10:17:10 +02:00
cfi_endian.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
concat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
doc2000.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
flashchip.h mtd: onenand: omap2: Fix errors in style 2020-01-09 20:08:15 +01:00
ftl.h
gen_probe.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
hyperbus.h mtd: hyperbus: Make hyperbus_unregister_device() return void 2022-06-09 15:06:13 +02:00
inftl.h
jedec.h mtd: rawnand: Ensure the nand chip supports cached reads 2023-10-16 10:47:22 +02:00
lpc32xx_mlc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lpc32xx_slc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
map.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
mtd.h mtd: use refcount to prevent corruption 2023-07-12 13:30:08 +02:00
mtdram.h
nand-ecc-mtk.h mtd: nand: make mtk_ecc.c a separated module 2022-04-27 18:12:35 +02:00
nand-ecc-mxic.h spi: mxic: Add support for pipelined ECC operations 2022-02-10 09:32:30 +01:00
nand-ecc-sw-bch.h mtd: nand: ecc-bch: Use the public nsteps field 2021-03-11 09:37:28 +01:00
nand-ecc-sw-hamming.h mtd: nand: ecc-hamming: Use the public nsteps field 2021-03-11 09:37:28 +01:00
nand-gpio.h
nand.h mtd: nand: drop EXPORT_SYMBOL_GPL for nanddev_erase() 2022-11-07 17:17:20 +01:00
ndfc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
nftl.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 102 2019-05-24 17:39:00 +02:00
onenand.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
onenand_regs.h This pull-request contains the following changes for MTD: 2019-07-13 15:42:44 -07:00
onfi.h mtd: rawnand: Ensure the nand chip supports cached reads 2023-10-16 10:47:22 +02:00
partitions.h mtd: Add support for emulated SLC mode on MLC NANDs 2020-05-11 09:51:41 +02:00
pfow.h mtd: lpddr: Move function print_drs_error to lpddr_cmds.c 2020-08-27 14:14:46 +02:00
physmap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pismo.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 2019-05-30 11:29:19 -07:00
plat-ram.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
platnand.h
qinfo.h mtd: Replace zero-length array with flexible-array 2020-05-26 13:30:06 +05:30
rawnand.h mtd: rawnand: Ensure the nand chip supports cached reads 2023-10-16 10:47:22 +02:00
sh_flctl.h
sharpsl.h mtd: nand: ecc-hamming: Remove useless includes 2020-12-10 22:37:30 +01:00
spear_smi.h
spi-nor.h mtd: spi-nor: Stop exporting spi_nor_restore() 2023-04-04 09:43:50 +03:00
spinand.h mtd: spinand: add support for ESMT F50x1G41LB 2023-04-03 18:00:29 +02:00
super.h mtd: Kill mount_mtd() 2019-09-05 14:34:26 -04:00
ubi.h mtd: ubi: block: wire-up device parent 2023-02-13 22:24:10 +01:00
xip.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00