Register writes which change voltage of IO lines or turn the IO bus on/off
require sdhc controller to be ready before progressing further. Once a
register write which affects IO lines is done, the driver should wait for
power irq from controller. Once the irq comes, the driver should acknowledge
the irq by writing to power control register. If the acknowledgement is not
given to controller, the controller may not complete the corresponding
register write action and this can mess up the controller if drivers proceeds
without power irq completing.
Changes since RFC:
wait_for_completion_timeout replaced with wait_event_timeout when
waiting for power irq.
Removed the spinlock within power irq handler and API which waits
for power irq.
Added comments to sdhci msm register write functions, warning that they
Sdhci msm register write functions will do a memory barrier before
writing to the register if the particular register can trigger
Instead of enabling SDHCI IO ACCESSORS config in arm64/defconfig, it
will be selected in mmc/host/Kconfig if the platform is MMC_SDHCI_MSM.
Sahitya Tummala (2):
mmc: sdhci-msm: Fix HW issue with power IRQ handling during reset
mmc: sdhci-msm: Add support to wait for power irq
Subhash Jadavani (1):
mmc: sdhci-msm: fix issue with power irq
Vijay Viswanath (2):
mmc: sdhci-msm: Add ops to do sdhc register write
mmc: Kconfig: Enable CONFIG_MMC_SDHCI_IO_ACCESSORS
drivers/mmc/host/Kconfig | 1 +
drivers/mmc/host/sdhci-msm.c | 253 ++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 249 insertions(+), 5 deletions(-)