]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mmc: block: add handling for two parallel block requests in issue_rw_rq
authorPer Forlin <per.forlin@linaro.org>
Fri, 1 Jul 2011 16:55:33 +0000 (18:55 +0200)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:11:07 +0000 (14:11 +0200)
commit7438fbfe7e3977a167209e09655f59d564ada998
tree74837739d36d41e61111d76f7ca73b6308448d8d
parent8c0bc3580e689f9f4b31133c989bdbf30530d8f9
mmc: block: add handling for two parallel block requests in issue_rw_rq

Change mmc_blk_issue_rw_rq() to become asynchronous.
The execution flow looks like this:

* The mmc-queue calls issue_rw_rq(), which sends the request
  to the host and returns back to the mmc-queue.
* The mmc-queue calls issue_rw_rq() again with a new request.
* This new request is prepared in issue_rw_rq(), then it waits for
  the active request to complete before pushing it to the host.
* When the mmc-queue is empty it will call issue_rw_rq() with a NULL
  req to finish off the active request without starting a new request.

Signed-off-by: Per Forlin <per.forlin@linaro.org>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/card/block.c
drivers/mmc/card/queue.c
drivers/mmc/card/queue.h