diff options
-rw-r--r-- | drivers/mmc/host/mmci.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 5228c5de334d..0a8cdac1f59c 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c | |||
@@ -59,6 +59,7 @@ static unsigned int fmax = 515633; | |||
59 | * is asserted (likewise for RX) | 59 | * is asserted (likewise for RX) |
60 | * @fifohalfsize: number of bytes that can be written when MCI_TXFIFOHALFEMPTY | 60 | * @fifohalfsize: number of bytes that can be written when MCI_TXFIFOHALFEMPTY |
61 | * is asserted (likewise for RX) | 61 | * is asserted (likewise for RX) |
62 | * @data_cmd_enable: enable value for data commands. | ||
62 | * @sdio: variant supports SDIO | 63 | * @sdio: variant supports SDIO |
63 | * @st_clkdiv: true if using a ST-specific clock divider algorithm | 64 | * @st_clkdiv: true if using a ST-specific clock divider algorithm |
64 | * @datactrl_mask_ddrmode: ddr mode mask in datactrl register. | 65 | * @datactrl_mask_ddrmode: ddr mode mask in datactrl register. |
@@ -79,6 +80,7 @@ struct variant_data { | |||
79 | unsigned int datalength_bits; | 80 | unsigned int datalength_bits; |
80 | unsigned int fifosize; | 81 | unsigned int fifosize; |
81 | unsigned int fifohalfsize; | 82 | unsigned int fifohalfsize; |
83 | unsigned int data_cmd_enable; | ||
82 | unsigned int datactrl_mask_ddrmode; | 84 | unsigned int datactrl_mask_ddrmode; |
83 | bool sdio; | 85 | bool sdio; |
84 | bool st_clkdiv; | 86 | bool st_clkdiv; |
@@ -841,6 +843,9 @@ mmci_start_command(struct mmci_host *host, struct mmc_command *cmd, u32 c) | |||
841 | if (/*interrupt*/0) | 843 | if (/*interrupt*/0) |
842 | c |= MCI_CPSM_INTERRUPT; | 844 | c |= MCI_CPSM_INTERRUPT; |
843 | 845 | ||
846 | if (mmc_cmd_type(cmd) == MMC_CMD_ADTC) | ||
847 | c |= host->variant->data_cmd_enable; | ||
848 | |||
844 | host->cmd = cmd; | 849 | host->cmd = cmd; |
845 | 850 | ||
846 | writel(cmd->arg, base + MMCIARGUMENT); | 851 | writel(cmd->arg, base + MMCIARGUMENT); |