Re: [PATCH V2 2/2] mmc: sdhci-msm: Enable MMC_CAP2_SLEEP_AWAKE for Qualcomm controllers

From: Wenchao Chen
Date: Sat Oct 07 2023 - 22:22:46 EST


On Fri, 29 Sept 2023 at 22:44, Sarthak Garg <quic_sartgarg@xxxxxxxxxxx> wrote:
>
> Enable MMC_CAP2_SLEEP_AWAKE for Qualcomm controllers to let them use
> sleep/awake functionality for faster eMMC resume instead of
> doing full initialization.
>
> Signed-off-by: Sarthak Garg <quic_sartgarg@xxxxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-msm.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
> index 668e0aceeeba..be44a6851fc9 100644
> --- a/drivers/mmc/host/sdhci-msm.c
> +++ b/drivers/mmc/host/sdhci-msm.c
> @@ -2627,6 +2627,7 @@ static int sdhci_msm_probe(struct platform_device *pdev)
> }
>
> msm_host->mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_NEED_RSP_BUSY;
> + msm_host->mmc->caps2 |= MMC_CAP2_SLEEP_AWAKE;
>

Need "MMC_CAP_AGGRESSIVE_PM"?
/*
* Callback for runtime_suspend.
*/
static int mmc_runtime_suspend(struct mmc_host *host)
{
int err;

if (!(host->caps & MMC_CAP_AGGRESSIVE_PM))
return 0;

err = _mmc_suspend(host, true);
if (err)
pr_err("%s: error %d doing aggressive suspend\n",
mmc_hostname(host), err);

return err;
}



> /* Set the timeout value to max possible */
> host->max_timeout_count = 0xF;
> --
> 2.17.1
>