Skip to content

Commit 0dafa60

Browse files
Jisheng Zhangstorulf
authored andcommitted
mmc: sdhci: also get preset value and driver type for MMC_DDR52
commit bb8175a ("mmc: sdhci: clarify DDR timing mode between SD-UHS and eMMC") added MMC_DDR52 as eMMC's DDR mode to be distinguished from SD-UHS, but it missed setting driver type for MMC_DDR52 timing mode. So sometimes we get the following error on Marvell BG2Q DMP board: [ 1.559598] mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00 [ 1.569314] mmcblk0: retrying using single block read [ 1.575676] mmcblk0: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0 [ 1.585202] blk_update_request: I/O error, dev mmcblk0, sector 2 [ 1.591818] mmcblk0: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0 [ 1.601341] blk_update_request: I/O error, dev mmcblk0, sector 3 This patches fixes this by adding the missing driver type setting. Fixes: bb8175a ("mmc: sdhci: clarify DDR timing mode ...") Signed-off-by: Jisheng Zhang <jszhang@marvell.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent f912632 commit 0dafa60

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

drivers/mmc/host/sdhci.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1134,6 +1134,7 @@ static u16 sdhci_get_preset_value(struct sdhci_host *host)
11341134
preset = sdhci_readw(host, SDHCI_PRESET_FOR_SDR104);
11351135
break;
11361136
case MMC_TIMING_UHS_DDR50:
1137+
case MMC_TIMING_MMC_DDR52:
11371138
preset = sdhci_readw(host, SDHCI_PRESET_FOR_DDR50);
11381139
break;
11391140
case MMC_TIMING_MMC_HS400:
@@ -1575,7 +1576,8 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
15751576
(ios->timing == MMC_TIMING_UHS_SDR25) ||
15761577
(ios->timing == MMC_TIMING_UHS_SDR50) ||
15771578
(ios->timing == MMC_TIMING_UHS_SDR104) ||
1578-
(ios->timing == MMC_TIMING_UHS_DDR50))) {
1579+
(ios->timing == MMC_TIMING_UHS_DDR50) ||
1580+
(ios->timing == MMC_TIMING_MMC_DDR52))) {
15791581
u16 preset;
15801582

15811583
sdhci_enable_preset_value(host, true);

0 commit comments

Comments
 (0)