000-mtk-21-mmc-mtk-sd-don-t-ignore-max-frequency-from-device-tr.patch 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. From 4bdab0ea008113dda4e001ab8d6863945000c1b2 Mon Sep 17 00:00:00 2001
  2. From: Daniel Golle <[email protected]>
  3. Date: Thu, 11 Mar 2021 14:58:26 +0000
  4. Subject: [PATCH 21/21] mmc: mtk-sd: don't ignore max-frequency from device
  5. tree
  6. commit e58e68d9 ("mmc: mtk-sd: assign plat->cfg.f_max with a correct value")
  7. wrongly assumed that plat->cfg.f_max is always unset at the time
  8. mscd_drv_probe() is run. This is not true in case max-frequency being
  9. defined in device tree, as it is then already set by mmc_of_parser()
  10. in msdc_of_to_plat().
  11. Only set plat->cfg.f_max to the default maximum value in case it is
  12. not already set to a sane value.
  13. Signed-off-by: Daniel Golle <[email protected]>
  14. ---
  15. drivers/mmc/mtk-sd.c | 3 ++-
  16. 1 file changed, 2 insertions(+), 1 deletion(-)
  17. --- a/drivers/mmc/mtk-sd.c
  18. +++ b/drivers/mmc/mtk-sd.c
  19. @@ -1644,7 +1644,8 @@ static int msdc_drv_probe(struct udevice
  20. if (cfg->f_min < MIN_BUS_CLK)
  21. cfg->f_min = MIN_BUS_CLK;
  22. - cfg->f_max = host->src_clk_freq;
  23. + if (cfg->f_max < cfg->f_min || cfg->f_max > host->src_clk_freq)
  24. + cfg->f_max = host->src_clk_freq;
  25. cfg->b_max = 1024;
  26. cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34;