mbox series

[v5,0/3] Introduce the request_atomic() for the host

Message ID cover.1586744073.git.baolin.wang7@gmail.com (mailing list archive)
Headers show
Series Introduce the request_atomic() for the host | expand

Message

Baolin Wang April 13, 2020, 2:46 a.m. UTC
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.

Note, this patch set is based on Adrian's patch set:
https://www.spinics.net/lists/linux-mmc/msg58529.html

Any comments are welcome. Thanks.

Changes from v4:
 - Remove redundant checking when warning the return value of request_atomic().
 - Add acked tag from Adrian for patch 1.
 - Re-implement the request_atomic() based on the Adrian's patch set.

Changes from v3:
 - Move patch 3 of V3 patch set into patch 1.
 - Add a warning for unexpected return value of request_atomic().
 - Remove redundant checking of ops->request().

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 (3):
  mmc: host: Introduce the request_atomic() for the host
  mmc: host: sdhci: Implement the request_atomic() API
  mmc: host: sdhci-sprd: Implement the request_atomic() API

 drivers/mmc/host/mmc_hsq.c    | 29 ++++++++++++++++++++++++++++-
 drivers/mmc/host/mmc_hsq.h    |  1 +
 drivers/mmc/host/sdhci-sprd.c | 23 ++++++++++++++++++++---
 drivers/mmc/host/sdhci.c      | 34 ++++++++++++++++++++++++++++++++++
 drivers/mmc/host/sdhci.h      |  1 +
 include/linux/mmc/host.h      |  3 +++
 6 files changed, 87 insertions(+), 4 deletions(-)

Comments

Ulf Hansson April 17, 2020, 11:29 a.m. UTC | #1
On Mon, 13 Apr 2020 at 04:46, Baolin Wang <baolin.wang7@gmail.com> wrote:
>
> 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.
>
> Note, this patch set is based on Adrian's patch set:
> https://www.spinics.net/lists/linux-mmc/msg58529.html
>
> Any comments are welcome. Thanks.
>
> Changes from v4:
>  - Remove redundant checking when warning the return value of request_atomic().
>  - Add acked tag from Adrian for patch 1.
>  - Re-implement the request_atomic() based on the Adrian's patch set.
>
> Changes from v3:
>  - Move patch 3 of V3 patch set into patch 1.
>  - Add a warning for unexpected return value of request_atomic().
>  - Remove redundant checking of ops->request().
>
> 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 (3):
>   mmc: host: Introduce the request_atomic() for the host
>   mmc: host: sdhci: Implement the request_atomic() API
>   mmc: host: sdhci-sprd: Implement the request_atomic() API
>
>  drivers/mmc/host/mmc_hsq.c    | 29 ++++++++++++++++++++++++++++-
>  drivers/mmc/host/mmc_hsq.h    |  1 +
>  drivers/mmc/host/sdhci-sprd.c | 23 ++++++++++++++++++++---
>  drivers/mmc/host/sdhci.c      | 34 ++++++++++++++++++++++++++++++++++
>  drivers/mmc/host/sdhci.h      |  1 +
>  include/linux/mmc/host.h      |  3 +++
>  6 files changed, 87 insertions(+), 4 deletions(-)
>
> --
> 2.17.1
>

Applied for next, thanks!

Kind regards
Uffe