diff options
Diffstat (limited to 'drivers/mmc/host/omap_hsmmc.c')
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index 1cf9cfb3b64f..fee895b02f39 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c | |||
@@ -70,6 +70,8 @@ | |||
70 | #define DTO_MASK 0x000F0000 | 70 | #define DTO_MASK 0x000F0000 |
71 | #define DTO_SHIFT 16 | 71 | #define DTO_SHIFT 16 |
72 | #define INT_EN_MASK 0x307F0033 | 72 | #define INT_EN_MASK 0x307F0033 |
73 | #define BWR_ENABLE (1 << 4) | ||
74 | #define BRR_ENABLE (1 << 5) | ||
73 | #define INIT_STREAM (1 << 1) | 75 | #define INIT_STREAM (1 << 1) |
74 | #define DP_SELECT (1 << 21) | 76 | #define DP_SELECT (1 << 21) |
75 | #define DDIR (1 << 4) | 77 | #define DDIR (1 << 4) |
@@ -241,7 +243,12 @@ mmc_omap_start_command(struct mmc_omap_host *host, struct mmc_command *cmd, | |||
241 | */ | 243 | */ |
242 | OMAP_HSMMC_WRITE(host->base, STAT, STAT_CLEAR); | 244 | OMAP_HSMMC_WRITE(host->base, STAT, STAT_CLEAR); |
243 | OMAP_HSMMC_WRITE(host->base, ISE, INT_EN_MASK); | 245 | OMAP_HSMMC_WRITE(host->base, ISE, INT_EN_MASK); |
244 | OMAP_HSMMC_WRITE(host->base, IE, INT_EN_MASK); | 246 | |
247 | if (host->use_dma) | ||
248 | OMAP_HSMMC_WRITE(host->base, IE, | ||
249 | INT_EN_MASK & ~(BRR_ENABLE | BWR_ENABLE)); | ||
250 | else | ||
251 | OMAP_HSMMC_WRITE(host->base, IE, INT_EN_MASK); | ||
245 | 252 | ||
246 | host->response_busy = 0; | 253 | host->response_busy = 0; |
247 | if (cmd->flags & MMC_RSP_PRESENT) { | 254 | if (cmd->flags & MMC_RSP_PRESENT) { |