• Ezequiel Garcia's avatar
    mtd: nand: pxa3xx: Introduce multiple page I/O support · 70ed8523
    Ezequiel Garcia authored
    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: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
    Tested-by: default avatarDaniel Mack <zonque@gmail.com>
    Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
    70ed8523
pxa3xx_nand.c 44.5 KB