From ba1aa4e33b7861b429b55f57bc11b83aac47d460 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 31 Jul 2016 20:30:08 +0200 Subject: mvebu: fix NAND flash issues (FS#67) Remove the previous PIO delay patch and add a revert patch for a faulty upstream commit, which seems to have introduced this issue in the first place Signed-off-by: Felix Fietkau --- .../110-pxa3xxx_nand-handle-PIO-delays.patch | 36 ---------------------- 1 file changed, 36 deletions(-) delete mode 100644 target/linux/mvebu/patches-4.4/110-pxa3xxx_nand-handle-PIO-delays.patch (limited to 'target/linux/mvebu/patches-4.4/110-pxa3xxx_nand-handle-PIO-delays.patch') diff --git a/target/linux/mvebu/patches-4.4/110-pxa3xxx_nand-handle-PIO-delays.patch b/target/linux/mvebu/patches-4.4/110-pxa3xxx_nand-handle-PIO-delays.patch deleted file mode 100644 index 7fa56970c1..0000000000 --- a/target/linux/mvebu/patches-4.4/110-pxa3xxx_nand-handle-PIO-delays.patch +++ /dev/null @@ -1,36 +0,0 @@ -Handle delays/excessive latency during flash command processing with PIO. - -Signed-off-by: Felix Fietkau - ---- a/drivers/mtd/nand/pxa3xx_nand.c -+++ b/drivers/mtd/nand/pxa3xx_nand.c -@@ -227,6 +227,7 @@ struct pxa3xx_nand_info { - int use_dma; /* use DMA ? */ - int use_spare; /* use spare ? */ - int need_wait; -+ int pio_progress; - - /* Amount of real data per full chunk */ - unsigned int chunk_size; -@@ -769,6 +770,7 @@ static irqreturn_t pxa3xx_nand_irq_threa - { - struct pxa3xx_nand_info *info = data; - -+ info->pio_progress = 1; - handle_data_pio(info); - - info->state = STATE_CMD_DONE; -@@ -1175,8 +1177,13 @@ static void nand_cmdfunc(struct mtd_info - info->need_wait = 1; - pxa3xx_nand_start(info); - -+retry: -+ info->pio_progress = 0; - if (!wait_for_completion_timeout(&info->cmd_complete, - CHIP_DELAY_TIMEOUT)) { -+ if (info->pio_progress) -+ goto retry; -+ - dev_err(&info->pdev->dev, "Wait time out!!!\n"); - /* Stop State Machine for next command cycle */ - pxa3xx_nand_stop(info); -- cgit v1.2.3