6dea80e699
SDHCI_TRNS_ACMD12 is to be set only for multiple-block read/write commands without data length information, so don't unconditionally set this bit. The result matches what e. g. Linux does. - Section 2.2.19 of the SDHCI specification version 4.20 states that SDHCI_ACMD12_ERR should be only valid if SDHCI_INT_ACMD12ERR is set and hardware may clear SDHCI_ACMD12_ERR when SDHCI_INT_ACMD12ERR is cleared (differing silicon behavior is specifically allowed, though). Thus, read SDHCI_ACMD12_ERR before clearing SDHCI_INT_ACMD12ERR. While at it, use the 16-bit accessor rather than the 32-bit one for reading the 16-bit SDHCI_ACMD12_ERR. - SDHCI_INT_TUNEERR isn't one of the ROC bits in SDHCI_INT_STATUS so clear it explicitly. - Add missing prototypes and sort them. |
||
---|---|---|
.. | ||
fsl_sdhci.c | ||
sdhci_acpi.c | ||
sdhci_fdt_gpio.c | ||
sdhci_fdt_gpio.h | ||
sdhci_fdt.c | ||
sdhci_if.m | ||
sdhci_pci.c | ||
sdhci_xenon.c | ||
sdhci_xenon.h | ||
sdhci.c | ||
sdhci.h |