mmc: tegra: Force correct divider calculation on DDR50/52
authorAapo Vienamo <avienamo@nvidia.com>
Mon, 16 Jul 2018 14:34:29 +0000 (17:34 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 30 Jul 2018 13:06:31 +0000 (15:06 +0200)
commit57d1654ec96a49f5a093f9cbe40718c92ab5daa0
treebc3506a150b4a74bb9e2010fffa6fa3dd47cf60b
parent02a3c0bd607402e4b7a5026f5a498291e8ade6f8
mmc: tegra: Force correct divider calculation on DDR50/52

Tegra SDHCI controllers require the SDHCI clock divider to be configured
to divide the clock by two in DDR50/52 modes. Incorrectly configured
clock divider results in corrupted data.

Prevent the possibility of incorrectly calculating the divider value due
to clock rate rounding or low parent clock frequency by not assigning
host->max_clk to clk_get_rate() on tegra_sdhci_set_clock().

See the comments for further details.

Fixes: a8e326a ("mmc: tegra: implement module external clock change")
Signed-off-by: Aapo Vienamo <avienamo@nvidia.com>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-tegra.c