dwmmc: Increase retry timeout
authorAlexander Graf <agraf@suse.de>
Fri, 4 Mar 2016 00:09:52 +0000 (01:09 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 15 Mar 2016 19:13:05 +0000 (15:13 -0400)
When enable dcache on HiKey, we're running into MMC command timeouts
because our retry loop is now faster than the eMMC (or an external SD
card) can answer.

Increase the retry count to the same as the timeout value for status
reports.

The real fix is obviously to not base this whole thing on a cycle counter
but on real wall time, but that would be slightly more intrusive.

Signed-off-by: Alexander Graf <agraf@suse.de>
drivers/mmc/dw_mmc.c

index 909e3caf18b142a36abc96ddce626d1d10220394..7329f40d345b53560da6d19465b7aab0eed3345f 100644 (file)
@@ -189,7 +189,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
                                 data ? DIV_ROUND_UP(data->blocks, 8) : 0);
        int ret = 0, flags = 0, i;
        unsigned int timeout = 100000;
-       u32 retry = 10000;
+       u32 retry = 100000;
        u32 mask, ctrl;
        ulong start = get_timer(0);
        struct bounce_buffer bbstate;