mmc: cmdq_hci: add set_transfer_params() to CQ unhalt
Some of the transfer parameters like DMA mode will be changed
only when CQ is in HALT state to send some legacy commands like
tuning etc.
Also, fix a typo with set_transfer_params() host op.
Change-Id: I3a9856e0d60ce6a9cc1727cd8ccd10ef33bb707c
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
diff --git a/drivers/mmc/host/cmdq_hci.c b/drivers/mmc/host/cmdq_hci.c
index d7ef74f..7d88245 100644
--- a/drivers/mmc/host/cmdq_hci.c
+++ b/drivers/mmc/host/cmdq_hci.c
@@ -720,8 +720,6 @@
}
cq_host->mrq_slot[tag] = mrq;
- if (cq_host->ops->set_tranfer_params)
- cq_host->ops->set_tranfer_params(mmc);
/* PM QoS */
sdhci_msm_pm_qos_irq_vote(host);
@@ -986,6 +984,8 @@
}
ret = retries ? 0 : -ETIMEDOUT;
} else {
+ if (cq_host->ops->set_transfer_params)
+ cq_host->ops->set_transfer_params(mmc);
if (cq_host->ops->set_block_size)
cq_host->ops->set_block_size(mmc);
if (cq_host->ops->set_data_timeout)
diff --git a/drivers/mmc/host/cmdq_hci.h b/drivers/mmc/host/cmdq_hci.h
index 0bf05fa..5347b3ab 100644
--- a/drivers/mmc/host/cmdq_hci.h
+++ b/drivers/mmc/host/cmdq_hci.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -197,7 +197,7 @@
};
struct cmdq_host_ops {
- void (*set_tranfer_params)(struct mmc_host *mmc);
+ void (*set_transfer_params)(struct mmc_host *mmc);
void (*set_data_timeout)(struct mmc_host *mmc, u32 val);
void (*clear_set_irqs)(struct mmc_host *mmc, bool clear);
void (*set_block_size)(struct mmc_host *mmc);