From: Adrian Hunter <adrian.hunter@intel.com>
To: Baolin Wang <baolin.wang7@gmail.com>, ulf.hansson@linaro.org
Cc: arnd@arndb.de, orsonzhai@gmail.com, zhang.lyra@gmail.com,
linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 3/3] mmc: host: sdhci-sprd: Implement the request_atomic() API
Date: Tue, 14 Apr 2020 16:49:17 +0300 [thread overview]
Message-ID: <dbf41269-0d0c-084c-e090-b040f92fee3e@intel.com> (raw)
In-Reply-To: <60142fe6c6c1dbba2696e775564ae2166786f0bc.1586744073.git.baolin.wang7@gmail.com>
On 13/04/20 5:46 am, Baolin Wang wrote:
> Implement the request_atomic() API for nonremovable cards, that means
> we can submit next request in the irq hard handler context to reduce
> latency.
>
> Moreover factor out the AUTO CMD23 checking into a separate function
> to reduce duplicate code.
>
> Signed-off-by: Baolin Wang <baolin.wang7@gmail.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
> drivers/mmc/host/sdhci-sprd.c | 23 ++++++++++++++++++++---
> 1 file changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c
> index 2ab42c59e4f8..bc7a8cb84862 100644
> --- a/drivers/mmc/host/sdhci-sprd.c
> +++ b/drivers/mmc/host/sdhci-sprd.c
> @@ -406,7 +406,8 @@ static struct sdhci_ops sdhci_sprd_ops = {
> .request_done = sdhci_sprd_request_done,
> };
>
> -static void sdhci_sprd_request(struct mmc_host *mmc, struct mmc_request *mrq)
> +static void sdhci_sprd_check_auto_cmd23(struct mmc_host *mmc,
> + struct mmc_request *mrq)
> {
> struct sdhci_host *host = mmc_priv(mmc);
> struct sdhci_sprd_host *sprd_host = TO_SPRD_HOST(host);
> @@ -422,10 +423,23 @@ static void sdhci_sprd_request(struct mmc_host *mmc, struct mmc_request *mrq)
> mrq->sbc && (mrq->sbc->arg & SDHCI_SPRD_ARG2_STUFF) &&
> (host->flags & SDHCI_AUTO_CMD23))
> host->flags &= ~SDHCI_AUTO_CMD23;
> +}
> +
> +static void sdhci_sprd_request(struct mmc_host *mmc, struct mmc_request *mrq)
> +{
> + sdhci_sprd_check_auto_cmd23(mmc, mrq);
>
> sdhci_request(mmc, mrq);
> }
>
> +static int sdhci_sprd_request_atomic(struct mmc_host *mmc,
> + struct mmc_request *mrq)
> +{
> + sdhci_sprd_check_auto_cmd23(mmc, mrq);
> +
> + return sdhci_request_atomic(mmc, mrq);
> +}
> +
> static int sdhci_sprd_voltage_switch(struct mmc_host *mmc, struct mmc_ios *ios)
> {
> struct sdhci_host *host = mmc_priv(mmc);
> @@ -561,6 +575,11 @@ static int sdhci_sprd_probe(struct platform_device *pdev)
> if (ret)
> goto pltfm_free;
>
> + if (!mmc_card_is_removable(host->mmc))
> + host->mmc_host_ops.request_atomic = sdhci_sprd_request_atomic;
> + else
> + host->always_defer_done = true;
> +
> sprd_host = TO_SPRD_HOST(host);
> sdhci_sprd_phy_param_parse(sprd_host, pdev->dev.of_node);
>
> @@ -654,8 +673,6 @@ static int sdhci_sprd_probe(struct platform_device *pdev)
> if (ret)
> goto err_cleanup_host;
>
> - host->always_defer_done = true;
> -
> ret = __sdhci_add_host(host);
> if (ret)
> goto err_cleanup_host;
>
next prev parent reply other threads:[~2020-04-14 13:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-13 2:46 [PATCH v5 0/3] Introduce the request_atomic() for the host Baolin Wang
2020-04-13 2:46 ` [PATCH v5 1/3] mmc: host: " Baolin Wang
2020-04-13 2:46 ` [PATCH v5 2/3] mmc: host: sdhci: Implement the request_atomic() API Baolin Wang
2020-04-13 4:40 ` kbuild test robot
2020-04-13 4:40 ` kbuild test robot
2020-04-13 5:42 ` kbuild test robot
2020-04-13 5:42 ` kbuild test robot
2020-04-13 6:52 ` Baolin Wang
2020-04-14 13:47 ` Adrian Hunter
2020-04-13 2:46 ` [PATCH v5 3/3] mmc: host: sdhci-sprd: " Baolin Wang
2020-04-14 13:49 ` Adrian Hunter [this message]
2020-04-17 11:29 ` [PATCH v5 0/3] Introduce the request_atomic() for the host Ulf Hansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=dbf41269-0d0c-084c-e090-b040f92fee3e@intel.com \
--to=adrian.hunter@intel.com \
--cc=arnd@arndb.de \
--cc=baolin.wang7@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=orsonzhai@gmail.com \
--cc=ulf.hansson@linaro.org \
--cc=zhang.lyra@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.