mtd: nand: pxa3xx: Switch FIFO draining to jiffies-based timeout
Subsystems (2)
PATCH v2 1/1 mtd: nand: pxa3xx: Switch FIFO draining to jiffies-based timeout
Now that the driver handles the FIFO draining in a threaded interrupt, we can base our timeout on jiffies and sleeping, instead of using mdelay.
---
Changes from v1:
- Switch to readl_relaxed_poll_timeout() instead of using our own custom implementation of it.
drivers/mtd/nand/pxa3xx_nand.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)
drivers/mtd/nand/pxa3xx_nand.c +9 -11
@@ -22,6 +22,7 @@#include <linux/mtd/nand.h> #include <linux/mtd/partitions.h> #include <linux/io.h> +#include <linux/iopoll.h> #include <linux/irq.h> #include <linux/slab.h> #include <linux/of.h>
@@ -483,7 +484,8 @@ static void disable_int(struct pxa3xx_nand_info *info, uint32_t int_mask)static void drain_fifo (struct pxa3xx_nand_info *info,void *data,int len) {if (info->ecc_bch) { -int timeout; +u32 val; +int ret;/* * According to the datasheet, when reading from NDDB
@@ -496,16 +498,12 @@ static void drain_fifo(struct pxa3xx_nand_info *info, void *data, int len)while (len >8 ) {__raw_readsl (info->mmio_base +NDDB , data,8 ); -for (timeout =0 ; - !(nand_readl (info,NDSR ) &NDSR_RDDREQ ); - timeout++) { -if (timeout >=5 ) { -dev_err (&info->pdev->dev, -"Timeout on RDDREQ while draining the FIFO\n" ); -return ; - } - -mdelay (1 ); + ret =readl_relaxed_poll_timeout (info->mmio_base +NDSR , val, + val &NDSR_RDDREQ ,1000 ,5000 ); +if (ret) { +dev_err (&info->pdev->dev, +"Timeout on RDDREQ while draining the FIFO\n" ); +return ; } data +=32 ;
Signature · 1 line
2.3.5
PATCH v2 1/1 mtd: nand: pxa3xx: Switch FIFO draining to jiffies-based timeout
Hi Brian,
Quoted 4 lines · Maxime Ripard
Now that the driver handles the FIFO draining in a threaded interrupt, we can base our timeout on jiffies and sleeping, instead of using mdelay.
Signed-off-by Maxime Ripard <[email protected]>
Ping?
You were the one that asked for this patch in the first place, so I was kind of expecting you would merge it :)
Thanks,
Maxime
Signature · 10 lines
Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150428/f257d4a9/attachment-0001.sig>
Brian Norris
AppliedPATCH v2 1/1 mtd: nand: pxa3xx: Switch FIFO draining to jiffies-based timeout
In reply to Maxime RipardQuoted 8 lines · Maxime Ripard
Now that the driver handles the FIFO draining in a threaded interrupt, we can base our timeout on jiffies and sleeping, instead of using mdelay.
Signed-off-by Maxime Ripard <[email protected]>---
Changes from v1:
- Switch toreadl_relaxed_poll_timeout()instead of using our own custom implementation of it.
Pushed to l2-mtd.git