Commit 9f1b4456c9076279a92005acb821e7bd3fc01880

Authored by Marek Vasut
Committed by Tom Rini
1 parent 325849ff3d

mmc: bcm2835_sdhci: Restore original delay behavior

Patch 33fe2fb8df01647f97a7bce96a1c7781a7f6d253 titled
"mmc: bcm283x: Remove get_timer_us() from mmc driver"
incorrectly replaced ad-hoc get_timer_us() function
with a plain get_timer(). The get_timer() operates in
mSec units instead of uSec though, which caused very
slow operation of the driver.

Restore the original behavior of the driver, but avoid
get_timer_us() and use timer_get_us() instead. The later
is part of the standard API.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Jakub Kiciński <moorray3@wp.pl>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Tested-by: Jakub Kicinski <kubakici@wp.pl>

Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff

drivers/mmc/bcm2835_sdhci.c
... ... @@ -69,11 +69,11 @@
69 69 * (Which is just as well - otherwise we'd have to nobble the DMA engine
70 70 * too)
71 71 */
72   - while (get_timer(bcm_host->last_write) < bcm_host->twoticks_delay)
  72 + while (timer_get_us() - bcm_host->last_write < bcm_host->twoticks_delay)
73 73 ;
74 74  
75 75 writel(val, host->ioaddr + reg);
76   - bcm_host->last_write = get_timer(0);
  76 + bcm_host->last_write = timer_get_us();
77 77 }
78 78  
79 79 static inline u32 bcm2835_sdhci_raw_readl(struct sdhci_host *host, int reg)