mmc: sdhci-pci: Only do AMD tuning for HS200
authorDaniel Kurtz <djkurtz@chromium.org>
Fri, 6 Apr 2018 22:07:59 +0000 (16:07 -0600)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 11 Apr 2018 13:01:39 +0000 (15:01 +0200)
commit300ad8992913025b4294d4fc37b6bfff4a8b7ad1
treea4e26a3103911b6fc0c86350013da8352fb2704a
parentfc167daff581c01ebce8695e9618231cae3561a1
mmc: sdhci-pci: Only do AMD tuning for HS200

Commit c31165d7400b ("mmc: sdhci-pci: Add support for HS200 tuning mode
on AMD, eMMC-4.5.1") added a HS200 tuning method for use with AMD SDHCI
controllers.  As described in the commit subject, this tuning is specific
for HS200.  However, as implemented, this method is used for all host
timings, because platform_execute_tuning, if it exists, is called
unconditionally by sdhci_execute_tuning().  This breaks tuning when using
the AMD controller with, for example, a DDR50 SD card.

Instead, we can implement an amd execute_tuning wrapper callback, and
then conditionally do the HS200 specific tuning for HS200, and otherwise
call back to the standard sdhci_execute_tuning().

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Fixes: c31165d7400b ("mmc: sdhci-pci: Add support for HS200 tuning mode on AMD, eMMC-4.5.1")
Cc: stable@vger.kernel.org # v4.11+
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-pci-core.c