git: 069c6ac2c698 - main - sdhci_fsl_fdt(4): Actually use modified SDHCI capabilities

From: Marius Strobl <marius_at_FreeBSD.org>
Date: Mon, 05 Feb 2024 22:46:28 UTC
The branch main has been updated by marius:

URL: https://cgit.FreeBSD.org/src/commit/?id=069c6ac2c698db68983efd17198e9c202c976d25

commit 069c6ac2c698db68983efd17198e9c202c976d25
Author:     Marius Strobl <marius@FreeBSD.org>
AuthorDate: 2024-02-05 19:08:33 +0000
Commit:     Marius Strobl <marius@FreeBSD.org>
CommitDate: 2024-02-05 22:43:48 +0000

    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.
---
 sys/dev/sdhci/sdhci_fsl_fdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/dev/sdhci/sdhci_fsl_fdt.c b/sys/dev/sdhci/sdhci_fsl_fdt.c
index c04bdefb1382..3220f00f277d 100644
--- a/sys/dev/sdhci/sdhci_fsl_fdt.c
+++ b/sys/dev/sdhci/sdhci_fsl_fdt.c
@@ -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;
 	}
 }