From: Kevin Liu <kliu5@marvell.com>
Date: Mon, 23 Mar 2015 22:57:00 +0000 (-0500)
Subject: mmc: sdhci: add timeout setting for response busy command
X-Git-Tag: v2025.01-rc5-pxa1908~13051^2~4
X-Git-Url: http://git.dujemihanovic.xyz/img/html/static/gitweb.css?a=commitdiff_plain;h=5e1c23cd392f17be9d135e504d48925a1cd92aa2;p=u-boot.git

mmc: sdhci: add timeout setting for response busy command

Timeout interrupt also work for response busy command(R1b) like
cmd38/cmd6. So need to set it accordingly. Current code only
set timeout for data command.

Signed-off-by: Kevin Liu <kliu5@marvell.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
---

diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
index 5332e61cae..75556a332d 100644
--- a/drivers/mmc/sdhci.c
+++ b/drivers/mmc/sdhci.c
@@ -213,6 +213,8 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
 				SDHCI_BLOCK_SIZE);
 		sdhci_writew(host, data->blocks, SDHCI_BLOCK_COUNT);
 		sdhci_writew(host, mode, SDHCI_TRANSFER_MODE);
+	} else if (cmd->resp_type & MMC_RSP_BUSY) {
+		sdhci_writeb(host, 0xe, SDHCI_TIMEOUT_CONTROL);
 	}
 
 	sdhci_writel(host, cmd->cmdarg, SDHCI_ARGUMENT);