Question about MMC_PM_KEEP_POWER in MMCI driver

Yann Gautier yann.gautier at foss.st.com
Wed Aug 25 07:34:10 PDT 2021


Hi,

In drivers/mmc/host/mmci.c, MMC_PM_KEEP_POWER is unconditionally enabled.
This prevents correct low-power sequence on STM32MP157C-DK2 board which 
embeds a Wifi chip brcm,bcm4329-fmac (this wifi part has not yet been 
sent upstream).

This MMC_PM_KEEP_POWER can be taken from DT with the property 
keep-power-in-suspend. This is what is done for other MMC drivers.

I wonder what should be the best solution for this.

1) Remove MMC_PM_KEEP_POWER from the driver, and modify all SoC device 
tree files embedding a arm,pl18x with adding keep-power-in-suspend; 
property (except stm32mp151.dtsi file).
This can be easy to do (~10 files to modify). But that could be more 
board dependent, if an SDIO chip is plugged on this MMC IP.
And the name keep-power-in-suspend can be misleading as it only applies 
to SDIO.

2) Remove MMC_PM_KEEP_POWER from the driver, and modify board DT files 
with the property. This could be a difficult task to find all those 
boards. And this should be applied only for SDIO configs.

3) Just modify the driver to apply this capability for all MMCI chips 
but STM32. This could be done in the dedicated file, in 
sdmmc_variant_init() function. But some boards based on STM32MP15 chip 
might want to keep this capability.

All advice is welcome.


Thanks,
Yann



More information about the linux-arm-kernel mailing list