On 2 April 2015 at 18:18, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: > On 2/04/2015 4:05 p.m., Ulf Hansson wrote: >> >> [...] >> >>>> >>>>> - ability to enable / disable re-tuning >>>> >>>> >>>> Handled internally by the mmc core. >>> >>> >>> The host controller driver enables re-tuning based on whether the host >>> controller requires it for that transfer mode. For example, only the >>> SDHCI >>> host controller knows if tuning is required for SDR50 mode according to >>> the >>> SDHCI capability register bit 45. >> >> >> That seems a bit silly. >> >> All hosts wants the re-tuning to be "enabled" if the current used >> speed mode requires it. It's not a host driver thing to deal with, >> just the core. > > > No it is up to the host controller. That is how it is in the > SD Host Controller Specification. Both whether to tune SDR50 and > whether to run a re-tuning timer. > > Tuning is inherently a host controller problem. The card can always > receive correctly from the host, but the host has to adjust its > "sampling point" to receive from the card. Only the host knows its > capabilities in this regard. The requirement of doing re-tuning is stated in the eMMC/SD specs. The SDHCI spec is just adopting to what these specs already states. Then, I think the mmc core is the only one, who shall be able of enable/disable re-tuning and thus we shouldn't need any APIs for that. Hosts needs to be able to flag that re-tuning is needed and to configure the re-tuning timeout (optional). [...] Kind regards Uffe -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html