Explorar o código

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>
Luca Ellero %!s(int64=7) %!d(string=hai) anos
pai
achega
c3c9a2c4b9
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      drivers/mtd/devices/mtd_dataflash.c

+ 1 - 1
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);
 	}
 }