[U-Boot] [PATCH v2 4/4] mmc: sdhci: add the udelay for completed post-request

Jaehoon Chung
2012-07-27T02:33:31Z

To ensure that complete the request, add udelay(100).
Also increased the timeout value to 10000.
(Because timeout value is short, there is the case that didn't transfer data)

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
---
drivers/mmc/sdhci.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index ac39e48..f71a14b 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -83,7 +83,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data,
{
unsigned int stat, rdy, mask, timeout, block = 0;

- timeout = 10000;
+ timeout = 100000;
rdy = SDHCI_INT_SPACE_AVAIL | SDHCI_INT_DATA_AVAIL;
mask = SDHCI_DATA_AVAILABLE | SDHCI_SPACE_AVAILABLE;
do {
@@ -239,6 +239,7 @@ int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
if ((host->quirks & SDHCI_QUIRK_32BIT_DMA_ADDR) &&
!is_aligned && (data->flags == MMC_DATA_READ))
memcpy(data->dest, aligned_buffer, trans_bytes);
+ udelay(100);
return 0;
}

--
1.7.4.1