diff options
Diffstat (limited to 'target/linux/mvebu/patches-4.4/021-mtd-pxa3xx_nand-Increase-the-initial-chunk-size.patch')
-rw-r--r-- | target/linux/mvebu/patches-4.4/021-mtd-pxa3xx_nand-Increase-the-initial-chunk-size.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-4.4/021-mtd-pxa3xx_nand-Increase-the-initial-chunk-size.patch b/target/linux/mvebu/patches-4.4/021-mtd-pxa3xx_nand-Increase-the-initial-chunk-size.patch new file mode 100644 index 0000000000..f928f46cc6 --- /dev/null +++ b/target/linux/mvebu/patches-4.4/021-mtd-pxa3xx_nand-Increase-the-initial-chunk-size.patch @@ -0,0 +1,42 @@ +From: =?UTF-8?q?Ezequiel=20Garc=C3=ADa?= <ezequiel@vanguardiasur.com.ar> +Date: Wed, 4 Nov 2015 13:13:41 -0300 +Subject: [PATCH] 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@vanguardiasur.com.ar> +Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> +Signed-off-by: Brian Norris <computersforpeace@gmail.com> +--- + +--- a/drivers/mtd/nand/pxa3xx_nand.c ++++ b/drivers/mtd/nand/pxa3xx_nand.c +@@ -1636,7 +1636,7 @@ static int pxa3xx_nand_scan(struct mtd_i + 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) |