On Tue, 23 Jun 2020 at 15:35, Veerabhadrarao Badiganti <vbadigan@xxxxxxxxxxxxxx> wrote: > > On qcom SD host controllers voltage switching be done after the HW > is ready for it. The HW informs its readiness through power irq. > The voltage switching should happen only then. > > So added support to register voltage regulators from the msm driver > and use them. > > This patchset was posted long back but not actively pursued > https://lore.kernel.org/linux-arm-msm/1539004739-32060-1-git-send-email-vbadigan@xxxxxxxxxxxxxx/ > So posting it as fresh patchset. > > Changes since V4: > - Added clear comments on condtion which allows either to > tunf off/on Vqmmc or to set load. > - Added mmc_card_removable() to the condtion whcih checks > if the card is eMMC or other card. > - Rerturning error for unsupported voltagtes in > sdhci_msm_start_signal_voltage_switch() > - Moved setting ios.power_mode to mmc_alloc_host(). > > Changes since V3: > - Dropped reading of regulator load values from device tree. > - Dropped documentaiton chagne. > - Since only Vqmmc supply of eMMC would be kept On during suspend, > setting load only for this regulator so that it can go to LPM. > And since this Load reamins same, load value is hard-coded in the driver. > > Changes since V2: > - Removed redundant log from sdhci_msm_set_vmmc. > - Added the condition for skiping disabling of vqmmc for eMMC. > - Updated logic such that, setting load for vqmmc only if > it is kept ON. > - Retained ack by Adrian for second patch. > - Updated dt properties names as per Robs comments. > > Changes since V1: > - Removed setting load for Vmmc regulator while turning it on/off. > Instead setting the active load once during probe. > - Simplified handlng of supplies for BUS_ON/OFF cases in shci_msm_handle_pwr_irq(). > - Moved common code out of switch case in sdhci_msm_start_signal_voltage_switch(). > - Updated variable name to sdhci_core_to_disable_vqmmc. > - Updated pr_err logs to dev_err logs. > Veerabhadrarao Badiganti (2): > mmc: core: Set default power mode in mmc_alloc_host > mmc: sdhci-msm: Use internal voltage control > > Vijay Viswanath (1): > mmc: sdhci: Allow platform controlled voltage switching > > drivers/mmc/core/host.c | 1 + > drivers/mmc/host/sdhci-msm.c | 206 +++++++++++++++++++++++++++++++++++++++++-- > drivers/mmc/host/sdhci.c | 32 ++++--- > drivers/mmc/host/sdhci.h | 1 + > 4 files changed, 218 insertions(+), 22 deletions(-) > V5 applied for next (did some minor amendment to patch 2), thanks! Kind regards Uffe