--- zzzz-none-000/linux-4.4.60/drivers/mmc/host/sdhci.c 2017-04-08 07:53:53.000000000 +0000 +++ dragonfly-4020-701/linux-4.4.60/drivers/mmc/host/sdhci.c 2018-11-08 13:36:17.000000000 +0000 @@ -942,8 +942,19 @@ } } - if (data->flags & MMC_DATA_READ) + if (data->flags & MMC_DATA_READ) { mode |= SDHCI_TRNS_READ; + if (host->ops->toggle_cdr) { + if ((cmd->opcode == MMC_SEND_TUNING_BLOCK_HS200) || + (cmd->opcode == MMC_SEND_TUNING_BLOCK)) + host->ops->toggle_cdr(host, false); + else + host->ops->toggle_cdr(host, true); + } + } + if (host->ops->toggle_cdr && (data->flags & MMC_DATA_WRITE)) + host->ops->toggle_cdr(host, false); + if (host->flags & SDHCI_REQ_USE_DMA) mode |= SDHCI_TRNS_DMA;