mtd: spi-nor: intel: provide a range for poll_timout
authorNicholas Mc Guire <der.herr@hofr.at>
Mon, 13 Feb 2017 08:13:42 +0000 (09:13 +0100)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Fri, 18 May 2018 10:53:33 +0000 (12:53 +0200)
The overall poll time here is INTEL_SPI_TIMEOUT * 1000 which is
5000 * 1000 - so 5seconds and it is coded as a tight loop here delay_us
to readl_poll_timeout() is set to 0. As this is never called in an atomic
context sleeping should be no issue and there is no reasons for the
tight-loop here.

Signed-off-by: Nicholas Mc Guire <der.herr@hofr.at>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
drivers/mtd/spi-nor/intel-spi.c

index 8e98f4a..d2cbfc2 100644 (file)
@@ -287,7 +287,7 @@ static int intel_spi_wait_hw_busy(struct intel_spi *ispi)
        u32 val;
 
        return readl_poll_timeout(ispi->base + HSFSTS_CTL, val,
-                                 !(val & HSFSTS_CTL_SCIP), 0,
+                                 !(val & HSFSTS_CTL_SCIP), 40,
                                  INTEL_SPI_TIMEOUT * 1000);
 }
 
@@ -296,7 +296,7 @@ static int intel_spi_wait_sw_busy(struct intel_spi *ispi)
        u32 val;
 
        return readl_poll_timeout(ispi->sregs + SSFSTS_CTL, val,
-                                 !(val & SSFSTS_CTL_SCIP), 0,
+                                 !(val & SSFSTS_CTL_SCIP), 40,
                                  INTEL_SPI_TIMEOUT * 1000);
 }