]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mtd: nand: pxa3xx: Introduce multiple page I/O support
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Thu, 14 Nov 2013 21:25:37 +0000 (18:25 -0300)
committerBrian Norris <computersforpeace@gmail.com>
Fri, 22 Nov 2013 22:13:02 +0000 (14:13 -0800)
commit99ca6820d402bb63fb624c2a96489b7e31ae6aed
tree9c8686203dd14c6d2ce4f6fbf141dea7849bafac
parent47dea44f2b965dbb21cd5bd68ad56db770e0a6c4
mtd: nand: pxa3xx: Introduce multiple page I/O support

As preparation work to fully support large pages, this commit adds
the initial infrastructure to support splitted (aka chunked) I/O
operation. This commit adds support for read, and follow-up patches
will add write support.

When a read (aka READ0) command is issued, the driver loops issuing
the same command until all the requested data is transfered, changing
the 'extended' command field as needed.

For instance, if the driver is required to read a 4 KiB page, using a
chunk size of 2 KiB, the transaction is splitted in:
1. Monolithic read, first 2 KiB page chunk is read
2. Last naked read, second and last 2KiB page chunk is read

If ECC is enabled it is calculated on each chunk transfered and added
at a controller-fixed location after the data chunk that must be
spare area.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/pxa3xx_nand.c