Hi I have some questions: On Thu, Dec 21, 2017 at 2:22 PM, Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> wrote: > mmc clock can be stopped during runtime suspend and restart during runtime > resume. This let us know to not have any clock running and this reduce > the EMI of the device when the bus is not in use > > Signed-off-by: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> > --- > drivers/mmc/host/sdhci-esdhc-imx.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c > index 7123ef9..9a5e96f 100644 > --- a/drivers/mmc/host/sdhci-esdhc-imx.c > +++ b/drivers/mmc/host/sdhci-esdhc-imx.c > @@ -196,6 +196,7 @@ struct pltfm_imx_data { > struct clk *clk_ipg; > struct clk *clk_ahb; > struct clk *clk_per; > + unsigned int actual_clock; > enum { > NO_CMD_PENDING, /* no multiblock command pending*/ > MULTIBLK_IN_PROCESS, /* exact multiblock cmd in process */ > @@ -1346,6 +1347,9 @@ static int sdhci_esdhc_runtime_suspend(struct device *dev) > > ret = sdhci_runtime_suspend_host(host); > > + imx_data->actual_clock = host->mmc->actual_clock; > + esdhc_pltfm_set_clock(host, 0); > + > if (!sdhci_sdio_irq_enabled(host)) { > clk_disable_unprepare(imx_data->clk_per); > clk_disable_unprepare(imx_data->clk_ipg); What if the runtime suspend fail in the sdhci_runtime_suspend_host? Is the runtime resume called? Because in the old code the ret is not taken in account to unprepare and disable the clock so I did not take in account too. Is this correct? Michael > @@ -1366,6 +1370,7 @@ static int sdhci_esdhc_runtime_resume(struct device *dev) > clk_prepare_enable(imx_data->clk_ipg); > } > clk_prepare_enable(imx_data->clk_ahb); > + esdhc_pltfm_set_clock(host, imx_data->actual_clock); > > return sdhci_runtime_resume_host(host); > } > -- > 2.7.4 > -- | Michael Nazzareno Trimarchi Amarula Solutions BV | | COO - Founder Cruquiuskade 47 | | +31(0)851119172 Amsterdam 1018 AM NL | | [`as] http://www.amarulasolutions.com | -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html