diff options
author | Shridhar Rasal <srasal@nvidia.com> | 2012-01-25 18:49:32 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-02-10 13:12:23 -0800 |
commit | b4a02aa8aaf1ce825f4b7b44851e7e7b6deeaec4 (patch) | |
tree | 8c9d5a6f7445d1ddafd9295310eb890e07a42f9f /drivers/mmc/card/queue.c | |
parent | 506e63fcfb563581c4a0417d424e36a75cf51acf (diff) |
mmc: card: Issue BKOPS when queue is empty
Issue BKOPS when the request queue is empty.
Before handling any new request, issue HPI
if bkops is being performed.
bug 919232
Originally reviewed on http://git-master/r/69779
Change-Id: Ic9258ebfea7f9cde96525371a5ef9d6d003ebf2f
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Signed-off-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-on: http://git-master/r/77335
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'drivers/mmc/card/queue.c')
-rw-r--r-- | drivers/mmc/card/queue.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c index 45fb362e3f01..5db38cbcea6d 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c @@ -64,6 +64,12 @@ static int mmc_queue_thread(void *d) set_current_state(TASK_RUNNING); mq->issue_fn(mq, req); } else { + /* + * Since the queue is empty, start synchronous + * background ops if there is a request for it. + */ + if (mmc_card_need_bkops(mq->card)) + mmc_bkops_start(mq->card, true); if (kthread_should_stop()) { set_current_state(TASK_RUNNING); break; |