Loading drivers/mmc/host/sdhci.c +13 −14 Original line number Diff line number Diff line Loading @@ -1189,6 +1189,15 @@ static void sdhci_set_clock(struct sdhci_host *host, unsigned int clock) host->clock = clock; } static inline void sdhci_update_clock(struct sdhci_host *host) { unsigned int clock; clock = host->clock; host->clock = 0; sdhci_set_clock(host, clock); } static int sdhci_set_power(struct sdhci_host *host, unsigned short power) { u8 pwr = 0; Loading Loading @@ -1418,7 +1427,6 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) if (host->version >= SDHCI_SPEC_300) { u16 clk, ctrl_2; unsigned int clock; /* In case of UHS-I modes, set High Speed Enable */ if ((ios->timing == MMC_TIMING_MMC_HS200) || Loading Loading @@ -1458,9 +1466,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); /* Re-enable SD Clock */ clock = host->clock; host->clock = 0; sdhci_set_clock(host, clock); sdhci_update_clock(host); } Loading Loading @@ -1491,9 +1497,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) } /* Re-enable SD Clock */ clock = host->clock; host->clock = 0; sdhci_set_clock(host, clock); sdhci_update_clock(host); } else sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); Loading Loading @@ -2083,14 +2087,9 @@ static void sdhci_tasklet_finish(unsigned long param) (host->quirks & SDHCI_QUIRK_RESET_AFTER_REQUEST))) { /* Some controllers need this kick or reset won't work here */ if (host->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) { unsigned int clock; if (host->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) /* This is to force an update */ clock = host->clock; host->clock = 0; sdhci_set_clock(host, clock); } sdhci_update_clock(host); /* Spec says we should do both at the same time, but Ricoh controllers do not like that. */ Loading Loading
drivers/mmc/host/sdhci.c +13 −14 Original line number Diff line number Diff line Loading @@ -1189,6 +1189,15 @@ static void sdhci_set_clock(struct sdhci_host *host, unsigned int clock) host->clock = clock; } static inline void sdhci_update_clock(struct sdhci_host *host) { unsigned int clock; clock = host->clock; host->clock = 0; sdhci_set_clock(host, clock); } static int sdhci_set_power(struct sdhci_host *host, unsigned short power) { u8 pwr = 0; Loading Loading @@ -1418,7 +1427,6 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) if (host->version >= SDHCI_SPEC_300) { u16 clk, ctrl_2; unsigned int clock; /* In case of UHS-I modes, set High Speed Enable */ if ((ios->timing == MMC_TIMING_MMC_HS200) || Loading Loading @@ -1458,9 +1466,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); /* Re-enable SD Clock */ clock = host->clock; host->clock = 0; sdhci_set_clock(host, clock); sdhci_update_clock(host); } Loading Loading @@ -1491,9 +1497,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) } /* Re-enable SD Clock */ clock = host->clock; host->clock = 0; sdhci_set_clock(host, clock); sdhci_update_clock(host); } else sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); Loading Loading @@ -2083,14 +2087,9 @@ static void sdhci_tasklet_finish(unsigned long param) (host->quirks & SDHCI_QUIRK_RESET_AFTER_REQUEST))) { /* Some controllers need this kick or reset won't work here */ if (host->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) { unsigned int clock; if (host->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) /* This is to force an update */ clock = host->clock; host->clock = 0; sdhci_set_clock(host, clock); } sdhci_update_clock(host); /* Spec says we should do both at the same time, but Ricoh controllers do not like that. */ Loading