]> git.hungrycats.org Git - linux/commit
mtd: nand: pxa3xx: Fix PIO FIFO draining
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Wed, 18 Feb 2015 10:32:07 +0000 (11:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Mar 2015 12:59:44 +0000 (13:59 +0100)
commite93d9bd175bb768183af54d6227265e007bcf9b6
tree17d85726d61056814dbd4a62cee0918dffd8b936
parent03fa7bb8c85d7311e9c4798e468b998bdd965151
mtd: nand: pxa3xx: Fix PIO FIFO draining

commit 8dad0386b97c4bd6edd56752ca7f2e735fe5beb4 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/nand/pxa3xx_nand.c