• Aapo Vienamo's avatar
    mmc: tegra: Use sdhci_pltfm_clk_get_max_clock · 75067aba
    Aapo Vienamo authored
    The sdhci get_max_clock callback is set to sdhci_pltfm_clk_get_max_clock
    and tegra_sdhci_get_max_clock is removed. It appears that the
    shdci-tegra specific callback was originally introduced due to the
    requirement that the host clock has to be twice the bus clock on DDR50
    mode. As far as I can tell the only effect the removal has on DDR50 mode
    is in cases where the parent clock is unable to supply the requested
    clock rate, causing the DDR50 mode to run at a lower frequency.
    Currently the DDR50 mode isn't enabled on any of the SoCs and would also
    require configuring the SDHCI clock divider register to function
    properly.
    
    The problem with tegra_sdhci_get_max_clock is that it divides the clock
    rate by two and thus artificially limits the maximum frequency of faster
    signaling modes which don't have the host-bus frequency ratio requirement
    of DDR50 such as SDR104 and HS200. Furthermore, the call to
    clk_round_rate() may return an error which isn't handled by
    tegra_sdhci_get_max_clock.
    Signed-off-by: default avatarAapo Vienamo <avienamo@nvidia.com>
    Acked-by: default avatarThierry Reding <treding@nvidia.com>
    Tested-by: default avatarThierry Reding <treding@nvidia.com>
    Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    75067aba
sdhci-tegra.c 16.4 KB