diff mbox series

[v1] mmc: sdhci-msm: Enable aggressive PM

Message ID 20241127031708.2343727-1-quic_yuanjiey@quicinc.com (mailing list archive)
State New
Headers show
Series [v1] mmc: sdhci-msm: Enable aggressive PM | expand

Commit Message

Yuanjie Yang Nov. 27, 2024, 3:17 a.m. UTC
The sdhci-msm driver supports the device in both RUNNING
and IDLE states, when eMMC/SD are not reading or writing,
eMMC/SD are in IDLE state, the power management module
will suspend the device(power off and reduce frequency,
etc.), putting the device into a low-power mode. But the
current sdhci-msm driver cannot put device enter into
low-power mode.

Enable aggressive PM capability to support runtime PM
functionality, allowing the eMMC/SD card to enter
lowe-power mode.

Signed-off-by: Yuanjie Yang <quic_yuanjiey@quicinc.com>
---
 drivers/mmc/host/sdhci-msm.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Dmitry Baryshkov Nov. 27, 2024, 4 a.m. UTC | #1
On Wed, Nov 27, 2024 at 11:17:08AM +0800, Yuanjie Yang wrote:
> The sdhci-msm driver supports the device in both RUNNING
> and IDLE states, when eMMC/SD are not reading or writing,
> eMMC/SD are in IDLE state, the power management module
> will suspend the device(power off and reduce frequency,
> etc.), putting the device into a low-power mode. But the
> current sdhci-msm driver cannot put device enter into
> low-power mode.
> 
> Enable aggressive PM capability to support runtime PM
> functionality, allowing the eMMC/SD card to enter
> lowe-power mode.
> 
> Signed-off-by: Yuanjie Yang <quic_yuanjiey@quicinc.com>

What is the difference to [1] ?

[1] https://lore.kernel.org/linux-arm-msm/20241104060722.10642-1-quic_sartgarg@quicinc.com

> ---
>  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 e00208535bd1..e3444d223513 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->caps |= MMC_CAP_AGGRESSIVE_PM;
>  
>  	/* Set the timeout value to max possible */
>  	host->max_timeout_count = 0xF;
> -- 
> 2.34.1
>
Yuanjie Yang Nov. 27, 2024, 6:01 a.m. UTC | #2
On Wed, Nov 27, 2024 at 06:00:34AM +0200, Dmitry Baryshkov wrote:
> On Wed, Nov 27, 2024 at 11:17:08AM +0800, Yuanjie Yang wrote:
> > The sdhci-msm driver supports the device in both RUNNING
> > and IDLE states, when eMMC/SD are not reading or writing,
> > eMMC/SD are in IDLE state, the power management module
> > will suspend the device(power off and reduce frequency,
> > etc.), putting the device into a low-power mode. But the
> > current sdhci-msm driver cannot put device enter into
> > low-power mode.
> > 
> > Enable aggressive PM capability to support runtime PM
> > functionality, allowing the eMMC/SD card to enter
> > lowe-power mode.
> > 
> > Signed-off-by: Yuanjie Yang <quic_yuanjiey@quicinc.com>
> 
> What is the difference to [1] ?
> 
> [1] https://lore.kernel.org/linux-arm-msm/20241104060722.10642-1-quic_sartgarg@quicinc.com

Thanks for your reminder, I didn't notice there was already a patch. I'll
check upstream first in the future. I will close this patch.

> > ---
> >  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 e00208535bd1..e3444d223513 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->caps |= MMC_CAP_AGGRESSIVE_PM;
> >  
> >  	/* Set the timeout value to max possible */
> >  	host->max_timeout_count = 0xF;
> > -- 
> > 2.34.1
> > 
> 
> -- 
> With best wishes
> Dmitry

Thanks,
Yuanjie
diff mbox series

Patch

diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index e00208535bd1..e3444d223513 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->caps |= MMC_CAP_AGGRESSIVE_PM;
 
 	/* Set the timeout value to max possible */
 	host->max_timeout_count = 0xF;