diff options
author | Doug Anderson <dianders@chromium.org> | 2013-07-09 16:04:40 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2013-08-24 22:21:33 -0400 |
commit | 476d79f1427798deb5107ad142cdea7d46883b4a (patch) | |
tree | b76646ddc3ad6218b0506cbd6c2b015cb38c6d4c | |
parent | c8760069627ad3b0dbbea170f0c4c58b16e18d3d (diff) |
mmc: dw_mmc: Handle DW_MCI_QUIRK_IDMAC_DTO properly
In (1fb5f68 mmc: dw_mmc: Don't loop when handling an interrupt), the
code for handling DW_MCI_QUIRK_IDMAC_DTO became dead code. Move it to
where it ought to live.
Found by code inspection and compile-tested only--I don't know of any
boards that need DW_MCI_QUIRK_IDMAC_DTO.
Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Seungwon Jeon <tgih.jun@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
-rw-r--r-- | drivers/mmc/host/dw_mmc.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index ee5f1676f14e..beafb4ce37aa 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c | |||
@@ -1601,18 +1601,17 @@ static irqreturn_t dw_mci_interrupt(int irq, void *dev_id) | |||
1601 | 1601 | ||
1602 | pending = mci_readl(host, MINTSTS); /* read-only mask reg */ | 1602 | pending = mci_readl(host, MINTSTS); /* read-only mask reg */ |
1603 | 1603 | ||
1604 | if (pending) { | 1604 | /* |
1605 | 1605 | * DTO fix - version 2.10a and below, and only if internal DMA | |
1606 | /* | 1606 | * is configured. |
1607 | * DTO fix - version 2.10a and below, and only if internal DMA | 1607 | */ |
1608 | * is configured. | 1608 | if (host->quirks & DW_MCI_QUIRK_IDMAC_DTO) { |
1609 | */ | 1609 | if (!pending && |
1610 | if (host->quirks & DW_MCI_QUIRK_IDMAC_DTO) { | 1610 | ((mci_readl(host, STATUS) >> 17) & 0x1fff)) |
1611 | if (!pending && | 1611 | pending |= SDMMC_INT_DATA_OVER; |
1612 | ((mci_readl(host, STATUS) >> 17) & 0x1fff)) | 1612 | } |
1613 | pending |= SDMMC_INT_DATA_OVER; | ||
1614 | } | ||
1615 | 1613 | ||
1614 | if (pending) { | ||
1616 | if (pending & DW_MCI_CMD_ERROR_FLAGS) { | 1615 | if (pending & DW_MCI_CMD_ERROR_FLAGS) { |
1617 | mci_writel(host, RINTSTS, DW_MCI_CMD_ERROR_FLAGS); | 1616 | mci_writel(host, RINTSTS, DW_MCI_CMD_ERROR_FLAGS); |
1618 | host->cmd_status = pending; | 1617 | host->cmd_status = pending; |