Hi Adrian, On 26/10/23 12:33, Adrian Hunter wrote: > On 26/10/23 10:00, Adrian Hunter wrote: >> On 26/10/23 09:14, Nitin Yadav wrote: >>> ti,otap-del-sel-legacy/ti,itap-del-sel-legacy passed from DT >>> are currently ignored for all SD/MMC and eMMC modes. Fix this >>> by making start loop index to MMC_TIMING_LEGACY. >>> >>> Fixes: 8ee5fc0e0b3be ("mmc: sdhci_am654: Update OTAPDLY writes") >>> >> >> There isn't usually a blank line here >> >> Perhaps a Cc: stable@xxxxxxxxxxxxxxx tag? >> >>> Signed-off-by: Nitin Yadav <n-yadav@xxxxxx> >> >> Nevertheless: >> >> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> > > Sorry, sent that prematurely - see comment below > >> >> >>> --- >>> drivers/mmc/host/sdhci_am654.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c >>> index 544aaaf5cb0f..aae9d255c6a1 100644 >>> --- a/drivers/mmc/host/sdhci_am654.c >>> +++ b/drivers/mmc/host/sdhci_am654.c >>> @@ -606,7 +606,7 @@ static int sdhci_am654_get_otap_delay(struct sdhci_host *host, >>> return 0; >>> } >>> > > Isn't the MMC_TIMING_LEGACY information read at the top of > sdhci_am654_get_otap_delay()? Loop also take care of ITAP. Looks like at some point single property ti,otap-del-sel was used for all modes and then we moved to one property per mode: https://lore.kernel.org/r/20200108150920.14547-3-faiz_abbas@xxxxxx (since v5.7) > >>> - for (i = MMC_TIMING_MMC_HS; i <= MMC_TIMING_MMC_HS400; i++) { >>> + for (i = MMC_TIMING_LEGACY; i <= MMC_TIMING_MMC_HS400; i++) { >>> >>> ret = device_property_read_u32(dev, td[i].otap_binding, >>> &sdhci_am654->otap_del_sel[i]); >> > -- Regards, Nitin