mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 13:11:31 +00:00
mmc: increase MMC SDHCI read status timeout
Otherwise, ocassionally see errors like this: Flashing sparse image at offset 2078720 Flashing Sparse Image sdhci_send_command: Timeout for status update! mmc fail to send stop cmd write_sparse_image: Write failed, block #2181088 [0] This does not affect the actual writing speed, which is controlled by the default value: CONFIG_SDHCI_CMD_DEFAULT_TIMEOUT It only increases the retries when reading: SDHCI_INT_STATUS to avoid the timeout error. Signed-off-by: Steve Rae <steve.rae@raedomain.com> Reviewed-by: Stefan Roese <sr@denx.de> Tested-by: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com>
This commit is contained in:
parent
df6b506f16
commit
d90bb43933
1 changed files with 3 additions and 2 deletions
|
@ -127,6 +127,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data,
|
|||
#define CONFIG_SDHCI_CMD_MAX_TIMEOUT 3200
|
||||
#endif
|
||||
#define CONFIG_SDHCI_CMD_DEFAULT_TIMEOUT 100
|
||||
#define SDHCI_READ_STATUS_TIMEOUT 1000
|
||||
|
||||
static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
|
||||
struct mmc_data *data)
|
||||
|
@ -243,9 +244,9 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
|
|||
if (stat & SDHCI_INT_ERROR)
|
||||
break;
|
||||
} while (((stat & mask) != mask) &&
|
||||
(get_timer(start) < CONFIG_SDHCI_CMD_DEFAULT_TIMEOUT));
|
||||
(get_timer(start) < SDHCI_READ_STATUS_TIMEOUT));
|
||||
|
||||
if (get_timer(start) >= CONFIG_SDHCI_CMD_DEFAULT_TIMEOUT) {
|
||||
if (get_timer(start) >= SDHCI_READ_STATUS_TIMEOUT) {
|
||||
if (host->quirks & SDHCI_QUIRK_BROKEN_R1B)
|
||||
return 0;
|
||||
else {
|
||||
|
|
Loading…
Add table
Reference in a new issue