linux/drivers/mmc/host
Aapo Vienamo 57d1654ec9 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>
2018-07-30 15:06:31 +02:00
..
android-goldfish.c mmc: android-goldfish: use sg_copy_{from,to}_buffer 2018-05-21 15:49:19 +02:00
atmel-mci.c mmc: atmel-mci: use sg_copy_{from,to}_buffer 2018-05-21 15:49:19 +02:00
au1xmmc.c mmc: au1xmmc: handle highmem pages 2018-05-29 12:24:26 +02:00
bcm2835.c mmc: bcm2835: Don't overwrite max frequency unconditionally 2018-02-14 11:30:10 +01:00
cavium-octeon.c
cavium-thunderx.c
cavium.c
cavium.h
cb710-mmc.c
cb710-mmc.h
cqhci.c
cqhci.h
davinci_mmc.c mmc: host: simplify getting .drvdata 2018-05-02 15:08:48 +02:00
dw_mmc-bluefield.c mmc: dw_mmc-bluefield: Add driver extension 2018-05-21 10:44:40 +02:00
dw_mmc-exynos.c mmc: dw_mmc-exynos: fix potential external abort in resume_noirq() 2018-07-16 11:21:45 +02:00
dw_mmc-exynos.h
dw_mmc-hi3798cv200.c mmc: dw_mmc: add support for hi3798cv200 specific extensions of dw-mshc 2018-03-15 14:43:22 +01:00
dw_mmc-k3.c mmc: dw_mmc: Fix out-of-bounds access for slot's caps 2018-02-27 15:12:25 +01:00
dw_mmc-pci.c mmc: dw_mmc: remove the deprecated "num-slots" 2018-03-15 09:27:11 +01:00
dw_mmc-pltfm.c
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: dw_mmc: fix misleading comment in dw_mci_rk3288_set_ios 2018-05-02 15:08:38 +02:00
dw_mmc-zx.c mmc: dw_mmc: Fix out-of-bounds access for slot's caps 2018-02-27 15:12:25 +01:00
dw_mmc-zx.h
dw_mmc.c mmc: dw_mmc: fix card threshold control configuration 2018-07-03 10:57:16 +02:00
dw_mmc.h mmc: dw_mmc: add support for hi3798cv200 specific extensions of dw-mshc 2018-03-15 14:43:22 +01:00
jz4740_mmc.c mmc: jz4740: Use dma_request_chan() 2018-05-02 15:08:34 +02:00
Kconfig mmc: sdhci-of-dwcmshc: add SDHCI OF Synopsys DWC MSHC driver 2018-07-16 11:21:45 +02:00
Makefile mmc: sdhci-pci-dwc-mshc: synopsys dwc mshc support 2018-07-16 11:21:45 +02:00
meson-gx-mmc.c mmc: meson-gx: add device reset 2018-05-21 10:50:45 +02:00
meson-mx-sdio.c
mmc_spi.c
mmci.c mmc: mmci: Remove bogus local_irq_save() 2018-05-02 15:08:51 +02:00
mmci.h mmc: mmci: Add support for setting pad type via pinctrl 2018-01-18 18:14:45 +01:00
mmci_qcom_dml.c
mmci_qcom_dml.h
moxart-mmc.c
mtk-sd.c mmc: mediatek: add 64G DRAM DMA support 2018-05-02 15:08:51 +02:00
mvsdio.c mmc: mvsdio: Enable MMC_CAP_ERASE 2018-05-31 15:02:16 +02:00
mvsdio.h
mxcmmc.c mmc: mxcmmc: Fix missing parentheses and brace 2018-07-16 11:45:44 +02:00
mxs-mmc.c
of_mmc_spi.c
omap.c
omap_hsmmc.c
pxamci.c mmc: pxamci: provide a short-hand for &pdev->dev 2018-07-16 11:21:45 +02:00
pxamci.h
renesas_sdhi.h mmc: tmio,renesas_sdhi: move ssc_tappos to renesas_sdhi.h 2017-12-19 08:50:04 +01:00
renesas_sdhi_core.c mmc: renesas_sdhi: add eMMC HS400 mode support 2018-07-16 11:21:45 +02:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi: add eMMC HS400 mode support 2018-07-16 11:21:45 +02:00
renesas_sdhi_sys_dmac.c mmc: renesas_sdhi: add eMMC HS400 mode support 2018-07-16 11:21:45 +02:00
rtsx_pci_sdmmc.c
rtsx_usb_sdmmc.c mmc: rtsx_usb: Enable MMC_CAP_ERASE to allow erase/discard/trim requests 2018-05-08 09:43:27 +02:00
s3cmci.c Merge branch 'fixes' into next 2018-01-04 12:44:21 +01:00
s3cmci.h
sdhci-acpi.c mmc: sdhci-acpi: Fix IRQ 0 2018-03-21 11:10:20 +01:00
sdhci-bcm-kona.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-brcmstb.c
sdhci-cadence.c mmc: sdhci-cadence: fix logically and structurally dead code 2018-05-02 15:08:49 +02:00
sdhci-cns3xxx.c
sdhci-dove.c
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: fix indent 2018-07-16 11:41:13 +02:00
sdhci-esdhc.h
sdhci-iproc.c mmc: sdhci-iproc: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for cygnus 2018-05-21 13:27:22 +02:00
sdhci-msm.c mmc: sdhci-msm: Remove redundant dev_err call in sdhci_msm_probe() 2018-07-16 11:21:45 +02:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add quirk for unstable clocks 2018-07-16 11:21:45 +02:00
sdhci-of-at91.c
sdhci-of-dwcmshc.c mmc: sdhci-of-dwcmshc: add SDHCI OF Synopsys DWC MSHC driver 2018-07-16 11:21:45 +02:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: set proper dma mask for ls104x chips 2018-07-16 11:21:45 +02:00
sdhci-of-hlwd.c
sdhci-omap.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
sdhci-pci-arasan.c mmc:host:sdhci-pci:Addition of Arasan PCI Controller with integrated phy. 2018-01-04 12:46:11 +01:00
sdhci-pci-core.c mmc: sdhci-pci-dwc-mshc: synopsys dwc mshc support 2018-07-16 11:21:45 +02:00
sdhci-pci-data.c
sdhci-pci-dwc-mshc.c mmc: sdhci-pci-dwc-mshc: synopsys dwc mshc support 2018-07-16 11:21:45 +02:00
sdhci-pci-o2micro.c mmc: sdhci: Add MSI interrupt support for O2 SD host 2018-07-30 14:25:06 +02:00
sdhci-pci.h mmc: sdhci-pci-dwc-mshc: synopsys dwc mshc support 2018-07-16 11:21:45 +02:00
sdhci-pic32.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-pltfm.c
sdhci-pltfm.h
sdhci-pxav2.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-pxav3.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-s3c.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-sirf.c
sdhci-spear.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-st.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-tegra.c mmc: tegra: Force correct divider calculation on DDR50/52 2018-07-30 15:06:31 +02:00
sdhci-xenon-phy.c mmc: sdhci-xenon: mark expected switch fall-through 2018-07-16 11:21:45 +02:00
sdhci-xenon.c mmc: sdhci-xenon: wait 5ms after set 1.8V signal enable 2017-12-19 08:53:04 +01:00
sdhci-xenon.h
sdhci.c mmc: sdhci: Add support for O2 hardware tuning 2018-07-30 14:25:06 +02:00
sdhci.h mmc: sdhci: Export sdhci tuning function symbol 2018-07-30 14:25:06 +02:00
sdhci_f_sdh30.c mmc: sdhci_f_sdh30: add ACPI support 2018-01-11 15:50:53 +01:00
sdricoh_cs.c
sh_mmcif.c mmc: sh_mmcif: remove some cruft 2018-03-05 09:00:59 +01:00
sunxi-mmc.c mmc: sunxi: Disable irq during pm_suspend 2018-07-05 14:10:59 +02:00
tifm_sd.c
tmio_mmc.c mmc: tmio: remove dma_ops from tmio_mmc_host_probe() argument 2018-01-18 09:08:56 +01:00
tmio_mmc.h mmc: tmio: add eMMC HS400 mode support 2018-07-16 11:21:45 +02:00
tmio_mmc_core.c mmc: tmio: add eMMC HS400 mode support 2018-07-16 11:21:45 +02:00
toshsd.c
toshsd.h
usdhi6rol0.c
ushc.c mmc: ushc: handle highmem pages 2018-05-21 15:49:20 +02:00
via-sdmmc.c
vub300.c
wbsd.c mmc: wbsd: handle highmem pages 2018-05-21 15:49:21 +02:00
wbsd.h
wmt-sdmmc.c mmc: host: simplify getting .drvdata 2018-05-02 15:08:48 +02:00