summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/devices
diff options
context:
space:
mode:
authorLuca Ellero2018-04-18 11:26:26 +0200
committerBoris Brezillon2018-04-22 20:02:17 +0200
commitc3c9a2c4b94f2c92132298b705a6f5f9dc1ccd3f (patch)
treed9fd6d6e2515cf86f08d97b1aa36b788d848ed49 /drivers/mtd/devices
parentmtd: devices: simplify getting .drvdata (diff)
downloadkernel-qcow2-linux-c3c9a2c4b94f2c92132298b705a6f5f9dc1ccd3f.tar.gz
kernel-qcow2-linux-c3c9a2c4b94f2c92132298b705a6f5f9dc1ccd3f.tar.xz
kernel-qcow2-linux-c3c9a2c4b94f2c92132298b705a6f5f9dc1ccd3f.zip
mtd: dataflash: replace msleep with usleep_range
Since msleep is based on jiffies, this 3 ms sleep becomes actually 20 ms. Worst of all, since this sleep is used in a loop when writing, a single page write (256 to 1024 bytes) causes 17 ms extra time. When writing large files (for example u-boot is usually 512 KB) this delay adds up to minutes. See Documentation/timers/timers-howto.txt "Why not msleep for (1ms - 20ms)". Signed-off-by: Luca Ellero <luca.ellero@brickedbrain.com> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Diffstat (limited to 'drivers/mtd/devices')
-rw-r--r--drivers/mtd/devices/mtd_dataflash.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c
index aaaeaae01e1d..3a6f450d1093 100644
--- a/drivers/mtd/devices/mtd_dataflash.c
+++ b/drivers/mtd/devices/mtd_dataflash.c
@@ -140,7 +140,7 @@ static int dataflash_waitready(struct spi_device *spi)
if (status & (1 << 7)) /* RDY/nBSY */
return status;
- msleep(3);
+ usleep_range(3000, 4000);
}
}