linux/drivers/mmc/core
Adrian Hunter cdf8a6fb48 mmc: block: Introduce queue semantics
Change from viewing the requests in progress as 'current' and 'previous',
to viewing them as a queue. The current request is allocated to the first
free slot. The presence of incomplete requests is determined from the
count (mq->qcnt) of entries in the queue. Non-read-write requests (i.e.
discards and flushes) are not added to the queue at all and require no
special handling. Also no special handling is needed for the
MMC_BLK_NEW_REQUEST case.

As well as allowing an arbitrarily sized queue, the queue thread function
is significantly simpler.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-04-24 21:42:00 +02:00
..
block.c mmc: block: Introduce queue semantics 2017-04-24 21:42:00 +02:00
block.h mmc: block: stop passing around pointless return values 2017-02-13 13:20:40 +01:00
bus.c mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
bus.h mmc: core: Move public functions from card.h to private headers 2017-02-13 13:20:24 +01:00
card.h mmc: core: change quirks.c to be a header file 2017-02-15 11:34:26 +01:00
core.c mmc: core: start to break apart mmc_start_areq() 2017-02-14 09:10:53 +01:00
core.h mmc: core: Rename __mmc_set_signal_voltage() to mmc_set_signal_voltage() 2017-02-13 13:20:43 +01:00
debugfs.c mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
host.c mmc: core: fix error path in mmc_host_alloc 2017-02-13 13:20:48 +01:00
host.h mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
Kconfig mmc: pwrseq: add support for Marvell SD8787 chip 2017-02-13 13:20:33 +01:00
Makefile mmc: core: change quirks.c to be a header file 2017-02-15 11:34:26 +01:00
mmc_ops.c mmc: use empty initializer list to zero-clear structures 2017-02-13 13:19:54 +01:00
mmc_ops.h mmc: core: Move public functions from core.h to private headers 2017-02-13 13:20:21 +01:00
mmc_test.c mmc: core: rename mmc_start_req() to *areq() 2017-02-13 13:20:58 +01:00
mmc.c mmc: core: Fix access to HS400-ES devices 2017-03-14 17:07:45 +01:00
pwrseq_emmc.c mmc: pwrseq: convert to proper platform device 2016-05-02 10:33:30 +02:00
pwrseq_sd8787.c mmc: pwrseq: add support for Marvell SD8787 chip 2017-02-13 13:20:33 +01:00
pwrseq_simple.c mmc: pwrseq-simple: Add an optional post-power-on-delay 2016-09-26 21:31:07 +02:00
pwrseq.c mmc: pwrseq: convert to proper platform device 2016-05-02 10:33:30 +02:00
pwrseq.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
queue.c mmc: block: Introduce queue semantics 2017-04-24 21:42:00 +02:00
queue.h mmc: block: Introduce queue semantics 2017-04-24 21:42:00 +02:00
quirks.h mmc: core: add mmc prefix for blk_fixups 2017-02-15 11:34:27 +01:00
sd_ops.c mmc: use empty initializer list to zero-clear structures 2017-02-13 13:19:54 +01:00
sd_ops.h mmc: core: Move public functions from core.h to private headers 2017-02-13 13:20:21 +01:00
sd.c mmc: core: Clarify usage of mmc_set_signal_voltage() 2017-02-13 13:20:43 +01:00
sd.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sdio_bus.c mmc: sdio: fix alignment issue in struct sdio_func 2017-04-18 19:18:07 +02:00
sdio_bus.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sdio_cis.c mmc: core: remove BUG_ONs from sdio 2016-12-05 10:31:08 +01:00
sdio_cis.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sdio_io.c mmc: core: simplify return code 2017-04-24 21:41:24 +02:00
sdio_irq.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
sdio_ops.c mmc: sdio: improve mmc_io_rw_extended 2017-04-24 21:41:42 +02:00
sdio_ops.h mmc: core: Move public functions from core.h to private headers 2017-02-13 13:20:21 +01:00
sdio_uart.c mmc: block: Move files to core 2016-12-12 16:30:05 +01:00
sdio.c mmc: core: improve the quirks for sdio devices 2017-02-15 11:34:26 +01:00
slot-gpio.c mmc: slot-gpio: Don't override con_id when request descriptor 2017-02-13 13:20:06 +01:00
slot-gpio.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00