Commit 78a67b92 authored by Ulf Hansson's avatar Ulf Hansson

mmc: mmc_spi: Add/rename defines for timeouts

Clarify the use of r1b_timeout, by renaming it to MMC_SPI_R1B_TIMEOUT_MS
and by dropping the corresponding confusing comment about it.

Additionally, let's also add a new define, MMC_SPI_INIT_TIMEOUT_MS and use
it during the initialization. Even if these two defines are given the same
value, the split makes it easier to understand them.

Cc: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20200414161413.3036-18-ulf.hansson@linaro.org
parent 966244cc
...@@ -77,14 +77,8 @@ ...@@ -77,14 +77,8 @@
#define MMC_SPI_BLOCKSIZE 512 #define MMC_SPI_BLOCKSIZE 512
#define MMC_SPI_R1B_TIMEOUT_MS 3000
/* These fixed timeouts come from the latest SD specs, which say to ignore #define MMC_SPI_INIT_TIMEOUT_MS 3000
* the CSD values. The R1B value is for card erase (e.g. the "I forgot the
* card's password" scenario); it's mostly applied to STOP_TRANSMISSION after
* reads which takes nowhere near that long. Older cards may be able to use
* shorter timeouts ... but why bother?
*/
#define r1b_timeout (HZ * 3)
/* One of the critical speed parameters is the amount of data which may /* One of the critical speed parameters is the amount of data which may
* be transferred in one command. If this value is too low, the SD card * be transferred in one command. If this value is too low, the SD card
...@@ -347,7 +341,8 @@ static int mmc_spi_response_get(struct mmc_spi_host *host, ...@@ -347,7 +341,8 @@ static int mmc_spi_response_get(struct mmc_spi_host *host,
while (cp < end && *cp == 0) while (cp < end && *cp == 0)
cp++; cp++;
if (cp == end) if (cp == end)
mmc_spi_wait_unbusy(host, r1b_timeout); mmc_spi_wait_unbusy(host,
msecs_to_jiffies(MMC_SPI_R1B_TIMEOUT_MS));
break; break;
/* SPI R2 == R1 + second status byte; SEND_STATUS /* SPI R2 == R1 + second status byte; SEND_STATUS
...@@ -1118,7 +1113,7 @@ static void mmc_spi_initsequence(struct mmc_spi_host *host) ...@@ -1118,7 +1113,7 @@ static void mmc_spi_initsequence(struct mmc_spi_host *host)
/* Try to be very sure any previous command has completed; /* Try to be very sure any previous command has completed;
* wait till not-busy, skip debris from any old commands. * wait till not-busy, skip debris from any old commands.
*/ */
mmc_spi_wait_unbusy(host, r1b_timeout); mmc_spi_wait_unbusy(host, msecs_to_jiffies(MMC_SPI_INIT_TIMEOUT_MS));
mmc_spi_readbytes(host, 10); mmc_spi_readbytes(host, 10);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment