linux/drivers/mtd/nand/raw
Boris Brezillon 90d6176333 mtd: rawnand: marvell: Fix read logic for layouts with ->nchunks > 2
The code is doing monolithic reads for all chunks except the last one
which is wrong since a monolithic read will issue the
READ0+ADDRS+READ_START sequence. It not only takes longer because it
forces the NAND chip to reload the page content into its internal
cache, but by doing that we also reset the column pointer to 0, which
means we'll always read the first chunk instead of moving to the next
one.

Rework the code to do a monolithic read only for the first chunk,
then switch to naked reads for all intermediate chunks and finally
issue a last naked read for the last chunk.

Fixes: 02f26ecf8c mtd: nand: add reworked Marvell NAND controller driver
Cc: stable@vger.kernel.org
Reported-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Tested-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
2018-05-14 14:46:20 +02:00
..
atmel MTD changes: 2018-04-06 12:15:41 -07:00
bcm47xxnflash
brcmnand mtd: rawnand: brcmnand: fix probe function error path 2018-03-29 09:38:18 +02:00
gpmi-nand mtd: rawnand: gpmi: use core timings instead of an empirical derivation 2018-03-20 12:00:00 +01:00
Kconfig Linux 4.16-rc2 2018-04-04 22:13:35 +02:00
Makefile
ams-delta.c
au1550nd.c
cafe_nand.c mtd: rawnand: cafe: fix probe function error path 2018-03-29 09:38:18 +02:00
cmx270_nand.c
cs553x_nand.c
davinci_nand.c mtd: rawnand: davinci: fix probe function error path 2018-03-29 09:38:18 +02:00
denali.c mtd: rawnand: denali: fix probe function error path 2018-03-29 09:38:19 +02:00
denali.h
denali_dt.c
denali_pci.c
diskonchip.c
docg4.c
fsl_elbc_nand.c
fsl_ifc_nand.c MTD changes: 2018-04-06 12:15:41 -07:00
fsl_upm.c
fsmc_nand.c
gpio.c
hisi504_nand.c
jz4740_nand.c
jz4780_bch.c
jz4780_bch.h
jz4780_nand.c
lpc32xx_mlc.c
lpc32xx_slc.c
marvell_nand.c mtd: rawnand: marvell: Fix read logic for layouts with ->nchunks > 2 2018-05-14 14:46:20 +02:00
mpc5121_nfc.c
mtk_ecc.c
mtk_ecc.h
mtk_nand.c
mxc_nand.c mtd: rawnand: mxc: fix probe function error path 2018-03-29 09:38:19 +02:00
nand_amd.c
nand_base.c mtd: rawnand: Make sure we wait tWB before polling the STATUS reg 2018-05-10 08:40:39 +02:00
nand_bbt.c Core changes: 2018-04-04 22:11:36 +02:00
nand_bch.c
nand_ecc.c
nand_hynix.c
nand_ids.c
nand_macronix.c mtd: rawnand: macronix: nack the support of changing timings for one chip 2018-03-20 11:59:58 +01:00
nand_micron.c mtd: rawnand: allow vendors to declare (un)supported features 2018-03-20 11:59:58 +01:00
nand_samsung.c
nand_timings.c
nand_toshiba.c
nandsim.c
ndfc.c
nuc900_nand.c
omap2.c mtd: rawnand: omap2: fix the probe function error path 2018-03-29 09:38:20 +02:00
omap_elm.c
orion_nand.c
oxnas_nand.c
pasemi_nand.c
plat_nand.c
qcom_nandc.c
r852.c
r852.h
s3c2410.c mtd: rawnand: s3c2410: enhance the probe function error path 2018-03-29 09:38:21 +02:00
sh_flctl.c mtd: rawnand: sh_flctl: fix the probe function error path 2018-03-29 09:38:20 +02:00
sharpsl.c
sm_common.c
sm_common.h
socrates_nand.c
sunxi_nand.c mtd: rawnand: sunxi: Stop supporting ECC_HW_SYNDROME mode 2018-03-29 09:38:17 +02:00
tango_nand.c mtd: rawnand: tango: Fix struct clk memory leak 2018-04-21 00:24:57 +02:00
tmio_nand.c
txx9ndfmc.c
vf610_nfc.c Linux 4.16-rc2 2018-04-04 22:13:35 +02:00
xway_nand.c