Skip to contentSkip to conversation

mmc: mmci: Add support to data commands via variant structure.

PATCH Prakash Burla 1 participant 1 message Jul 17, 2014 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

Prakash Burla

author Tested-by
#1 lore raw

This driver is tested on IFC6410.

Quoted 63 lines

From: <[email protected]>
Date: Mon, Jun 2, 2014 at 2:39 PM
Subject: [PATCH v6 08/12] mmc: mmci: Add support to data commands via variant structure.
To: Russell King <[email protected]>, Ulf Hansson <[email protected]>, [email protected]
Cc: Chris Ball <[email protected]>, [email protected], [email protected], [email protected], Srinivas Kandagatla <[email protected]>

From: Srinivas Kandagatla <[email protected]>

On some SOCs like Qcom there are explicit bits in the command register to specify if its a data transfer command or not. So this patch adds support to such bits in variant data, giving more flexibility to the driver.

---
 drivers/mmc/host/mmci.c | 5 +++++
 1 file changed, 5 insertions(+)
drivers/mmc/host/mmci.c +5 -0
index 4c95a9b..8534c29 100644
@@ -59,6 +59,7 @@ static unsigned int fmax = 515633;
  *           is asserted (likewise for RX)
  * @fifohalfsize: number of bytes that can be written when MCI_TXFIFOHALFEMPTY
  *               is asserted (likewise for RX)
+ * @data_cmd_enable: enable value for data commands.
  * @sdio: variant supports SDIO
  * @st_clkdiv: true if using a ST-specific clock divider algorithm
  * @datactrl_mask_ddrmode: ddr mode mask in datactrl register.
@@ -79,6 +80,7 @@ struct variant_data {
        unsigned int            datalength_bits;
        unsigned int            fifosize;
        unsigned int            fifohalfsize;
+       unsigned int            data_cmd_enable;
        unsigned int            datactrl_mask_ddrmode;
        bool                    sdio;
        bool                    st_clkdiv;
@@ -839,6 +841,9 @@ mmci_start_command(struct mmci_host *host, struct
 mmc_command *cmd, u32 c)
        if (/*interrupt*/0)
                c |= MCI_CPSM_INTERRUPT;
 
+       if (mmc_cmd_type(cmd) == MMC_CMD_ADTC)
+               c |= host->variant->data_cmd_enable;
+
        host->cmd = cmd;
 
        writel(cmd->arg, base + MMCIARGUMENT);

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html