Hi, On 5/7/26 9:02 AM, Sascha Hauer wrote: > "officially" is meant in the way that even with the SDHCI_QUIRK2_BROKEN_HS200 > flag set the driver already does HS200 when the device tree mandates it.
Shouldn't we change mci-core.c to evaluate MMC_CAP2_HS200 then? > Just remove the ineffective flag and wire up the execute_tuning hook. > > Signed-off-by: Sascha Hauer <[email protected]> Reviewed-by: Ahmad Fatoum <[email protected]> Cheers, Ahmad > --- > drivers/mci/rockchip-dwcmshc-sdhci.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/mci/rockchip-dwcmshc-sdhci.c > b/drivers/mci/rockchip-dwcmshc-sdhci.c > index 9ffd52e7e0..04ee528f07 100644 > --- a/drivers/mci/rockchip-dwcmshc-sdhci.c > +++ b/drivers/mci/rockchip-dwcmshc-sdhci.c > @@ -300,11 +300,19 @@ static int rk_sdhci_send_cmd(struct mci_host *mci, > struct mci_cmd *cmd) > return ret; > } > > +static int rk_sdhci_execute_tuning(struct mci_host *mci, u32 opcode) > +{ > + struct rk_sdhci_host *host = to_rk_sdhci_host(mci); > + > + return sdhci_execute_tuning(&host->sdhci, opcode); > +} > + > static const struct mci_ops rk_sdhci_ops = { > .send_cmd = rk_sdhci_send_cmd, > .set_ios = rk_sdhci_set_ios, > .init = rk_sdhci_init, > .card_present = rk_sdhci_card_present, > + .execute_tuning = rk_sdhci_execute_tuning, > }; > > static int rk_sdhci_probe(struct device *dev) > @@ -351,9 +359,6 @@ static int rk_sdhci_probe(struct device *dev) > > mci_of_parse(&host->mci); > > - /* HS200 not supported by this driver at the moment */ > - host->sdhci.quirks2 = SDHCI_QUIRK2_BROKEN_HS200; > - > sdhci_setup_host(&host->sdhci); > > dev->priv = host; > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
