summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorVenkat Gopalakrishnan <venkatg@codeaurora.org>2015-05-29 17:25:46 -0700
committerSubhash Jadavani <subhashj@codeaurora.org>2016-05-31 15:26:28 -0700
commitc811ac59932ffbe91526e2eaa3cb02bc200bdac5 (patch)
treee549135fb472c549c02577a2b6955d55f103a4f0 /include/linux
parent89ada7fc6d8bc5cc9b198f84517003d5886a1c30 (diff)
mmc: cmdq: support for command queue enabled host
This patch adds CMDQ support for command-queue compatible hosts. Command queue is added in eMMC-5.1 specification. This enables the controller to process upto 32 requests at a time. Change-Id: I0486495ef57c64bf8427e917daeb184c69b8dc73 Signed-off-by: Asutosh Das <asutoshd@codeaurora.org> Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org> Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org> Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org> [subhashj@codeaurora.org: fixed trivial merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mmc/host.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 8968fa6d1eb1..2159303f111f 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -540,6 +540,13 @@ struct mmc_host {
enum dev_state dev_status;
bool wakeup_on_idle;
struct mmc_cmdq_context_info cmdq_ctx;
+ /*
+ * several cmdq supporting host controllers are extensions
+ * of legacy controllers. This variable can be used to store
+ * a reference to the cmdq extension of the existing host
+ * controller.
+ */
+ void *cmdq_private;
unsigned long private[0] ____cacheline_aligned;
};
@@ -563,6 +570,11 @@ static inline void *mmc_priv(struct mmc_host *host)
return (void *)host->private;
}
+static inline void *mmc_cmdq_private(struct mmc_host *host)
+{
+ return host->cmdq_private;
+}
+
#define mmc_host_is_spi(host) ((host)->caps & MMC_CAP_SPI)
#define mmc_dev(x) ((x)->parent)