This patch set introduces a new request_atomic() interface for the
MMC host controller, which is used to submit a request to host in
the atomic context, such as in the irq hard handler, to reduce the
request latency.
Any comments are welcome. Thanks.
Changes from v2:
- Return busy flag if encountering unusual card busy state
instead of polling in interrupt context.
- Add a work for HSQ to try again in non-atomic context if the host
returns busy flag.
Changes from v1:
- Re-split the changes to make them more clear suggested by Ulf.
- Factor out the auto CMD23 checking into a separate function.
Baolin Wang (4):
mmc: host: Introduce the request_atomic() for the host
mmc: host: sdhci: Implement the request_atomic() API
mmc: host: hsq: Handle an unusual case of returing busy
mmc: host: sdhci-sprd: Implement the request_atomic() API
drivers/mmc/host/mmc_hsq.c | 40 +++++++++++++++++++++++++-
drivers/mmc/host/mmc_hsq.h | 1 +
drivers/mmc/host/sdhci-sprd.c | 23 +++++++++++++--
drivers/mmc/host/sdhci.c | 65 ++++++++++++++++++++++++++++++++-----------
drivers/mmc/host/sdhci.h | 4 ++-
include/linux/mmc/host.h | 3 ++
6 files changed, 114 insertions(+), 22 deletions(-)
--
1.9.1