mmc: sdhci: do not set AUTO_CMD12 for multi-block CMD53
For CMD53 in block mode, the host does not need to stop the transfer, as it stops when the block count (present in CMD53) is reached. Signed-off-by: Corneliu Doban <cdoban@broadcom.com> Signed-off-by: Scott Branden <sbranden@broadcom.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:

committed by
Ulf Hansson

parent
3bfa6f030a
commit
85cc1c3319
@@ -28,6 +28,7 @@
|
|||||||
#include <linux/mmc/mmc.h>
|
#include <linux/mmc/mmc.h>
|
||||||
#include <linux/mmc/host.h>
|
#include <linux/mmc/host.h>
|
||||||
#include <linux/mmc/card.h>
|
#include <linux/mmc/card.h>
|
||||||
|
#include <linux/mmc/sdio.h>
|
||||||
#include <linux/mmc/slot-gpio.h>
|
#include <linux/mmc/slot-gpio.h>
|
||||||
|
|
||||||
#include "sdhci.h"
|
#include "sdhci.h"
|
||||||
@@ -931,7 +932,8 @@ static void sdhci_set_transfer_mode(struct sdhci_host *host,
|
|||||||
* If we are sending CMD23, CMD12 never gets sent
|
* If we are sending CMD23, CMD12 never gets sent
|
||||||
* on successful completion (so no Auto-CMD12).
|
* on successful completion (so no Auto-CMD12).
|
||||||
*/
|
*/
|
||||||
if (!host->mrq->sbc && (host->flags & SDHCI_AUTO_CMD12))
|
if (!host->mrq->sbc && (host->flags & SDHCI_AUTO_CMD12) &&
|
||||||
|
(cmd->opcode != SD_IO_RW_EXTENDED))
|
||||||
mode |= SDHCI_TRNS_AUTO_CMD12;
|
mode |= SDHCI_TRNS_AUTO_CMD12;
|
||||||
else if (host->mrq->sbc && (host->flags & SDHCI_AUTO_CMD23)) {
|
else if (host->mrq->sbc && (host->flags & SDHCI_AUTO_CMD23)) {
|
||||||
mode |= SDHCI_TRNS_AUTO_CMD23;
|
mode |= SDHCI_TRNS_AUTO_CMD23;
|
||||||
|
Reference in New Issue
Block a user