linux_dsm_epyc7002/drivers/mmc
Arend van Spriel 2bc024855e sdhci: only reprogram retuning timer when flag is set
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: Arend van Spriel <arend@broadcom.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Aaron Lu <aaron.lu@intel.com>
Signed-off-by: Chris Ball <chris@printf.net>
2014-03-25 16:54:00 -04:00
..
card mmc: block: Fixup busy detection while invoking stop cmd at recovery 2014-02-23 10:41:11 -05:00
core mmc: slot-gpio: Add GPIO descriptor based CD GPIO API 2014-03-17 09:12:00 -04:00
host sdhci: only reprogram retuning timer when flag is set 2014-03-25 16:54:00 -04:00
Kconfig
Makefile mmc: sdhci-pci: add platform data 2012-01-11 23:58:47 -05:00