• Arend van Spriel's avatar
    sdhci: only reprogram retuning timer when flag is set · 2bc02485
    Arend van Spriel authored
    When the host->tuning_count is zero it means that the retuning is
    disabled. This is checked on the first run of sdhci_execute_tuning()
    by the if statement below:
    
    	if (!(host->flags & SDHCI_NEEDS_RETUNING) && host->tuning_count &&
    	    (host->tuning_mode == SDHCI_TUNING_MODE_1)) {
    
    So only when tuning_count is non-zero it will set the host flag
    SDHCI_USING_RETUNING_TIMER. The else statement is only for re-programming
    the timer, which means that flag must be set. Because that is not checked
    the else statement is executed in the first run when tuning_count is zero.
    
    This was seen on a host controller which indicated SDHCI_TUNING_MODE_1 (0)
    and tuning_count being zero. Suspect that (one of) these registers is not
    properly set.
    Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
    Acked-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Reviewed-by: default avatarAaron Lu <aaron.lu@intel.com>
    Signed-off-by: default avatarChris Ball <chris@printf.net>
    2bc02485
sdhci.c 86.7 KB