linux/drivers/mtd
Maxime Ripard 41ba1af9ce mtd: nand: pxa3xx: Fix PIO FIFO draining
commit 8dad0386b9 upstream.

The NDDB register holds the data that are needed by the read and write
commands.

However, during a read PIO access, the datasheet specifies that after each 32
bytes read in that register, when BCH is enabled, we have to make sure that the
RDDREQ bit is set in the NDSR register.

This fixes an issue that was seen on the Armada 385, and presumably other mvebu
SoCs, when a read on a newly erased page would end up in the driver reporting a
timeout from the NAND.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-03-23 15:16:12 +00:00
..
chips mtd: cfi_cmdset_0001.c: fix resume for LH28F640BF chips 2014-11-13 11:48:57 +00:00
devices mtd: m25p80,spi-nor: Fix module aliases for m25p80 2014-11-13 11:48:34 +00:00
lpddr mtd: lpddr: fix Kconfig dependency, for I/O accessors 2014-05-26 10:38:25 -07:00
maps mtd: maps: remove check for CONFIG_MTD_SUPERH_RESERVE 2014-05-28 15:12:47 -07:00
nand mtd: nand: pxa3xx: Fix PIO FIFO draining 2015-03-23 15:16:12 +00:00
onenand mtd: onenand: fix build warning for dma type 2014-05-20 16:35:31 -07:00
spi-nor mtd: m25p80,spi-nor: Fix module aliases for m25p80 2014-11-13 11:48:34 +00:00
tests mtd: tests: abort torturetest on erase errors 2015-01-15 10:44:05 +00:00
ubi UBI: Fix invalid vfree() 2015-01-05 13:48:37 +00:00
afs.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
ar7part.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
bcm47xxpart.c mtd: bcm47xxpart: allow enabling on ARCH_BCM_5301X 2014-03-10 22:42:29 -07:00
bcm63xxpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
cmdlinepart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
ftl.c mtd/ftl: fix the double free of the buffers allocated in build_maps() 2014-09-17 09:22:20 -07:00
inftlcore.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00
inftlmount.c mtd: delete non-required instances of include <linux/init.h> 2014-03-10 22:42:22 -07:00
Kconfig mtd: spi-nor: add the framework for SPI NOR 2014-04-14 11:22:58 -07:00
Makefile mtd: spi-nor: shorten Kconfig naming 2014-04-14 11:23:01 -07:00
mtd_blkdevs.c MTD updates for 3.16: 2014-06-11 08:35:34 -07:00
mtdblock.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdblock_ro.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdchar.c mtd: Fix warning in access_ok() parameter passing 2014-05-20 16:35:29 -07:00
mtdconcat.c mtd: unify initialization of erase_info->fail_addr 2012-03-27 01:02:24 +01:00
mtdcore.c mtd: Fix the behavior of OTP write if there is not enough room for data 2014-03-10 22:42:31 -07:00
mtdcore.h mtd: merge mtdchar module with mtdcore 2013-04-05 13:16:54 +01:00
mtdoops.c mtdoops: don't erase flash at each boot 2012-11-15 15:37:51 +02:00
mtdpart.c mtd: Add a retlen parameter to _get_{fact,user}_prot_info 2014-03-10 22:42:28 -07:00
mtdsuper.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdswap.c mtd: mtdswap: replace strict_strtoul() with kstrtoul() 2013-08-30 21:52:51 +01:00
nftlcore.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00
nftlmount.c mtd: introduce mtd_block_markbad interface 2012-01-09 18:25:48 +00:00
ofpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
redboot.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
rfd_ftl.c mtd: remove some duplicative checks 2014-03-10 22:42:25 -07:00
sm_ftl.c mtd: sm_ftl: heap corruption in sm_create_sysfs_attributes() 2014-03-10 22:42:21 -07:00
sm_ftl.h mtd: sm_ftl: cosmetic, use bool when possible 2010-10-25 01:33:08 +01:00
ssfdc.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00