From: Shawn Lin <shawn.lin@linux.dev>
To: Ulf Hansson <ulf.hansson@oss.qualcomm.com>,
linux-mmc@vger.kernel.org, Ulf Hansson <ulfh@kernel.org>
Cc: shawn.lin@linux.dev, Adrian Hunter <adrian.hunter@intel.com>,
Kamal Dasu <kamal.dasu@broadcom.com>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
Oleksij Rempel <o.rempel@pengutronix.de>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v10 3/6] mmc: core: Add option to keep an eMMC powered on at system suspend
Date: Tue, 27 Oct 2026 23:19:29 +0800 [thread overview]
Message-ID: <09d4c786-3551-4dcd-8f09-afa231d18dff@linux.dev> (raw)
In-Reply-To: <20261027144051.249211-4-ulf.hansson@oss.qualcomm.com>
在 2026/10/27 星期二 22:40, Ulf Hansson 写道:
> The DT property keep-power-in-suspend, allows us to specify whether the
> platform is capable of keeping the power to the card during system suspend.
> Up until now, this has been restricted to be used for SDIO cards only, but
> let's add the initial support to allow this for eMMC too.
>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
> Signed-off-by: Ulf Hansson <ulf.hansson@oss.qualcomm.com>
> ---
> drivers/mmc/core/mmc.c | 24 +++++++++++++++++++++++-
> 1 file changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index a02b04938e1a..c936272bcd81 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -38,6 +38,7 @@ enum mmc_poweroff_type {
> MMC_POWEROFF_SHUTDOWN,
> MMC_POWEROFF_UNDERVOLTAGE,
> MMC_POWEROFF_UNBIND,
> + MMC_NO_POWEROFF_SUSPEND,
> };
>
> static const unsigned int tran_exp[] = {
> @@ -2157,6 +2158,15 @@ static int _mmc_suspend(struct mmc_host *host, enum mmc_poweroff_type pm_type)
> goto out;
> }
>
> + if (pm_type == MMC_NO_POWEROFF_SUSPEND) {
> + if (host->retune_period) {
> + mmc_retune_timer_stop(host);
> + mmc_retune_needed(host);
> + }
> + mmc_card_set_suspended(host->card);
> + goto out;
> + }
> +
> if (mmc_card_can_poweroff_notify(host->card) &&
> mmc_host_can_poweroff_notify(host, pm_type))
> err = mmc_poweroff_notify(host->card, notify_type);
> @@ -2193,9 +2203,15 @@ static void mmc_remove(struct mmc_host *host)
> */
> static int mmc_suspend(struct mmc_host *host)
> {
> + enum mmc_poweroff_type pm_type = MMC_POWEROFF_SUSPEND;
> int err;
>
> - err = _mmc_suspend(host, MMC_POWEROFF_SUSPEND);
> + if (mmc_card_keep_power(host)) {
> + pm_runtime_resume(&host->card->dev);
> + pm_type = MMC_NO_POWEROFF_SUSPEND;
> + }
> +
> + err = _mmc_suspend(host, pm_type);
> if (!err) {
> pm_runtime_disable(&host->card->dev);
> pm_runtime_set_suspended(&host->card->dev);
> @@ -2260,7 +2276,13 @@ static int mmc_shutdown(struct mmc_host *host)
> */
> static int mmc_resume(struct mmc_host *host)
> {
> + if (mmc_card_keep_power(host)) {
> + pm_runtime_set_active(&host->card->dev);
> + mmc_card_clr_suspended(host->card);
> + }
> +
> pm_runtime_enable(&host->card->dev);
> + host->pm_flags &= ~MMC_PM_KEEP_POWER;
> return 0;
> }
>
next prev parent reply other threads:[~2026-10-27 15:19 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-27 14:40 [PATCH v10 0/6] mmc: core: Keep the card powered across suspend when firmware needs it live Ulf Hansson
2026-10-27 14:40 ` [PATCH v10 1/6] dt-bindings: mmc: Extend keep-power-in-suspend beyond SDIO Ulf Hansson
2026-10-27 15:01 ` Shawn Lin
2026-10-27 19:46 ` Ulf Hansson
2026-10-28 0:36 ` Shawn Lin
2026-10-28 10:43 ` Ulf Hansson
2026-10-28 12:08 ` Shawn Lin
2026-10-27 15:33 ` Krzysztof Kozlowski
2026-10-27 19:48 ` Ulf Hansson
2026-10-27 20:31 ` Kamal Dasu
2026-10-28 10:36 ` Ulf Hansson
2026-10-27 14:40 ` [PATCH v10 2/6] dt-bindings: mmc: Add reset-card-at-resume property Ulf Hansson
2026-10-27 15:33 ` Krzysztof Kozlowski
2026-10-27 14:40 ` [PATCH v10 3/6] mmc: core: Add option to keep an eMMC powered on at system suspend Ulf Hansson
2026-10-27 15:19 ` Shawn Lin [this message]
2026-10-27 14:40 ` [PATCH v10 4/6] mmc: core: Split sdio_set_host_pm_flags() Ulf Hansson
2026-10-27 15:12 ` Shawn Lin
2026-10-27 19:43 ` Ulf Hansson
2026-10-27 14:40 ` [PATCH v10 5/6] mmc: core: Move reset functions for eMMC Ulf Hansson
2026-10-27 15:19 ` Shawn Lin
2026-10-27 14:40 ` [PATCH v10 6/6] mmc: core: Add support for resetting an eMMC at system resume Ulf Hansson
2026-10-27 15:20 ` Shawn Lin
2026-10-27 20:00 ` Kamal Dasu
2026-10-27 19:53 ` [PATCH v10 0/6] mmc: core: Keep the card powered across suspend when firmware needs it live Kamal Dasu
2026-10-28 9:35 ` 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=09d4c786-3551-4dcd-8f09-afa231d18dff@linux.dev \
--to=shawn.lin@linux.dev \
--cc=adrian.hunter@intel.com \
--cc=florian.fainelli@broadcom.com \
--cc=kamal.dasu@broadcom.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=ulf.hansson@oss.qualcomm.com \
--cc=ulfh@kernel.org \
--cc=wsa+renesas@sang-engineering.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®