sdhci_fsl_fdt(4): Actually use modified SDHCI capabilities

SDHCI_QUIRK_MISSING_CAPS needs to be set unconditionally so sdhci(4)
adheres to the slot caps and caps2 set by sdhci_fsl_fdt(4). However,
so far this bug didn't have an impact as the front-end only filters
SDHCI_CAN_DO_SUSPEND, which in turn isn't used, yet.
This commit is contained in:
Marius Strobl 2024-02-05 20:08:33 +01:00
parent a841e54703
commit 069c6ac2c6

View File

@ -818,6 +818,7 @@ sdhci_fsl_fdt_of_parse(device_t dev)
/* Call mmc_fdt_parse in order to get mmc related properties. */
mmc_fdt_parse(dev, node, &sc->fdt_helper, &sc->slot.host);
sc->slot.quirks |= SDHCI_QUIRK_MISSING_CAPS;
sc->slot.caps = sdhci_fsl_fdt_read_4(dev, &sc->slot,
SDHCI_CAPABILITIES) & ~(SDHCI_CAN_DO_SUSPEND);
sc->slot.caps2 = sdhci_fsl_fdt_read_4(dev, &sc->slot,
@ -837,7 +838,6 @@ sdhci_fsl_fdt_of_parse(device_t dev)
(vdd_mask != (sc->slot.caps & SDHCI_FSL_CAN_VDD_MASK))) {
sc->slot.caps &= ~(SDHCI_FSL_CAN_VDD_MASK);
sc->slot.caps |= vdd_mask;
sc->slot.quirks |= SDHCI_QUIRK_MISSING_CAPS;
}
}