Prechádzať zdrojové kódy

ARM: 6858/1: mmci: force negative edge on clock bypass for ux500

This fixes a regression on high clock speeds with the MMCI on
ux500. We need to make sure we derive the passthru clock on the
falling edge of the incoming clock if it shall work at high
frequencies, and on the ux500's there is a special bit for this.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Walleij 14 rokov pred
rodič
commit
399bc4863e
1 zmenil súbory, kde vykonal 2 pridanie a 0 odobranie
  1. 2 0
      drivers/mmc/host/mmci.c

+ 2 - 0
drivers/mmc/host/mmci.c

@@ -103,6 +103,8 @@ static void mmci_set_clkreg(struct mmci_host *host, unsigned int desired)
 	if (desired) {
 		if (desired >= host->mclk) {
 			clk = MCI_CLK_BYPASS;
+			if (variant->st_clkdiv)
+				clk |= MCI_ST_UX500_NEG_EDGE;
 			host->cclk = host->mclk;
 		} else if (variant->st_clkdiv) {
 			/*