SDHCI_SOFTWARE_RESET
reg = sdhci_readb(host, SDHCI_SOFTWARE_RESET);
host, SDHCI_SOFTWARE_RESET);
esdhc_clrset_le(host, 0xff, SDHCI_RESET_ALL, SDHCI_SOFTWARE_RESET);
ret = readb_poll_timeout(host->ioaddr + SDHCI_SOFTWARE_RESET, sw_rst,
case SDHCI_SOFTWARE_RESET:
if (reg == SDHCI_SOFTWARE_RESET) {
case SDHCI_SOFTWARE_RESET:
sdhci_writeb(host, mask, SDHCI_SOFTWARE_RESET);
while ((!(sdhci_readb(host, SDHCI_SOFTWARE_RESET) & mask)) &&
while ((sdhci_readb(host, SDHCI_SOFTWARE_RESET) & mask) &&
if (sdhci_readb(host, SDHCI_SOFTWARE_RESET) & mask)
sdhci_writeb(host, ctrl, SDHCI_SOFTWARE_RESET);
10, 100000, false, host, SDHCI_SOFTWARE_RESET)) {
sdhci_writeb(host, 0, SDHCI_SOFTWARE_RESET);
sdhci_writeb(host, mask, SDHCI_SOFTWARE_RESET);
sdhci_writeb(host, mask, SDHCI_SOFTWARE_RESET);
if (unlikely(reg == SDHCI_SOFTWARE_RESET)) {
val = readb_relaxed(host->ioaddr + SDHCI_SOFTWARE_RESET);
writeb_relaxed(val, host->ioaddr + SDHCI_SOFTWARE_RESET);
writeb_relaxed(val, host->ioaddr + SDHCI_SOFTWARE_RESET);
sdhci_writeb(host, mask, SDHCI_SOFTWARE_RESET);
if (!(sdhci_readb(host, SDHCI_SOFTWARE_RESET) & mask))