mmc: block: Add blk-mq support
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 29 Nov 2017 13:41:03 +0000 (15:41 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 11 Dec 2017 11:44:33 +0000 (12:44 +0100)
commit81196976ed946cbf36bb41ddda402853c7df7cfa
treee0ac4bcf73f0870f6a75d75ebc683745c7458fcd
parentc3d53d0da69d127f488dc85638e9440220b268e8
mmc: block: Add blk-mq support

Define and use a blk-mq queue. Discards and flushes are processed
synchronously, but reads and writes asynchronously. In order to support
slow DMA unmapping, DMA unmapping is not done until after the next request
is started. That means the request is not completed until then. If there is
no next request then the completion is done by queued work.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
drivers/mmc/core/block.c
drivers/mmc/core/block.h
drivers/mmc/core/queue.c
drivers/mmc/core/queue.h