mtd: pxa3xx_nand: Increase the initial chunk size

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Tue Jan 12 15:59:05 PST 2016


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=c7f00c29aa846b00c70bc99ddb6b1cc7e17c47d4
Commit:     c7f00c29aa846b00c70bc99ddb6b1cc7e17c47d4
Parent:     e727ee86d9e51c4f3fd166c1540d23f211e7f37a
Author:     Ezequiel García <ezequiel at vanguardiasur.com.ar>
AuthorDate: Wed Nov 4 13:13:41 2015 -0300
Committer:  Brian Norris <computersforpeace at gmail.com>
CommitDate: Mon Nov 16 14:56:36 2015 -0800

    mtd: pxa3xx_nand: Increase the initial chunk size
    
    The chunk size represents the size of the data chunks, which
    is used by the controllers that allow to split transfered data.
    
    However, the initial chunk size is used in a non-splitted way,
    during device identification. Therefore, it must be large enough
    for all the NAND commands issued during device identification.
    This includes NAND_CMD_PARAM which was recently changed to
    transfer up to 2048 bytes (for the redundant parameter pages).
    
    Thus, the initial chunk size should be 2048 as well.
    
    On Armada 370/XP platforms (NFCv2) booted without the keep-config
    devicetree property, this commit fixes a timeout on the NAND_CMD_PARAM
    command:
    
      [..]
      pxa3xx-nand f10d0000.nand: This platform can't do DMA on this device
      pxa3xx-nand f10d0000.nand: Wait time out!!!
      nand: device found, Manufacturer ID: 0x2c, Chip ID: 0x38
      nand: Micron MT29F8G08ABABAWP
      nand: 1024 MiB, SLC, erase size: 512 KiB, page size: 4096, OOB size: 224
    
    Signed-off-by: Ezequiel Garcia <ezequiel at vanguardiasur.com.ar>
    Acked-by: Robert Jarzmik <robert.jarzmik at free.fr>
    Signed-off-by: Brian Norris <computersforpeace at gmail.com>
---
 drivers/mtd/nand/pxa3xx_nand.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index 37df51d..d3da5ef 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1592,7 +1592,7 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
 		goto KEEP_CONFIG;
 
 	/* Set a default chunk size */
-	info->chunk_size = 512;
+	info->chunk_size = PAGE_CHUNK_SIZE;
 
 	ret = pxa3xx_nand_config_flash(info);
 	if (ret)



More information about the linux-mtd-cvs mailing list