diff options
author | Asutosh Das <asutoshd@codeaurora.org> | 2015-04-23 16:00:45 +0530 |
---|---|---|
committer | Subhash Jadavani <subhashj@codeaurora.org> | 2016-05-31 15:26:28 -0700 |
commit | 89ada7fc6d8bc5cc9b198f84517003d5886a1c30 (patch) | |
tree | fb800177e2c21b2c612410e245a461751b5c3161 /drivers/mmc/card/queue.c | |
parent | fc4b531dfdca023ac59389e7acf24f21aa6074ed (diff) |
mmc: core: add flush request support to command queue
Adds flush request support to command-queue. This uses DCMD
feature of the controller for sending commands in
command-queue mode. DCMD is a direct command feature that uses
a pre-configured slot for sending commands other than Class 11.
Change-Id: Iebf6b74173dc91b0dc7230d1e87c65983d15148e
Signed-off-by: Asutosh Das <asutoshd@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 'drivers/mmc/card/queue.c')
-rw-r--r-- | drivers/mmc/card/queue.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c index 04a9e9274b7a..e88c1fac7be0 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c @@ -58,7 +58,8 @@ static int mmc_prep_request(struct request_queue *q, struct request *req) static inline bool mmc_cmdq_should_pull_reqs(struct mmc_host *host, struct mmc_cmdq_context_info *ctx) { - if (test_bit(CMDQ_STATE_ERR, &ctx->curr_state)) { + if (test_bit(CMDQ_STATE_DCMD_ACTIVE, &ctx->curr_state) || + test_bit(CMDQ_STATE_ERR, &ctx->curr_state)) { pr_debug("%s: %s: skip pulling reqs: state: %lu\n", mmc_hostname(host), __func__, ctx->curr_state); return false; |