mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

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>
19 lines
426 B
C
19 lines
426 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _MMC_CORE_BLOCK_H
|
|
#define _MMC_CORE_BLOCK_H
|
|
|
|
struct mmc_queue;
|
|
struct request;
|
|
|
|
void mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req);
|
|
|
|
enum mmc_issued;
|
|
|
|
enum mmc_issued mmc_blk_mq_issue_rq(struct mmc_queue *mq, struct request *req);
|
|
void mmc_blk_mq_complete(struct request *req);
|
|
|
|
struct work_struct;
|
|
|
|
void mmc_blk_mq_complete_work(struct work_struct *work);
|
|
|
|
#endif
|