mbox series

[V3,0/3] mmc: Add partial initialization support

Message ID 20231019054612.9192-1-quic_sartgarg@quicinc.com
Headers show
Series mmc: Add partial initialization support | expand

Message

Sarthak Garg Oct. 19, 2023, 5:46 a.m. UTC
Add the ability to partially initialize the MMC device by
using device sleep/awake sequence (CMD5).
Device will be sent to sleep state during mmc runtime/system suspend
and will be woken up during mmc runtime/system resume.
By using this sequence the device doesn't need full initialization
which gives 25% time reduction in system/runtime resume path.
Also enable this feature along with mmc runtime PM for qualcomm
controllers.

Changes since V2:
	- Fixed one warning reported by kernel test robot.
	  >> drivers/mmc/core/mmc.c:1975: warning: Function parameter
	  or member 'host' not described in 'mmc_sleepawake'
	- Included name of the subystem/driver in the title of the
	  series as suggested by Bryan O'Donoghue.
	- Enabled MMC_CAP_AGGRESSIVE_PM for qualcomm controller and
	  posted as [V3,3/3] as suggested by Wenchao Chen.

Changes since V1:
	- Did minor code cleanup as suggested by Avri Altman.
	- Added _mmc_resume gain data in commit message as suggested by
	  Ulf Hansson.
	- Split patch in two patches.
	  [V2,1/2] mmc: core: Add partial initialization support
	  [V2,2/2] mmc: sdhci-msm: Enable MMC_CAP2_SLEEP_AWAKE for
	  Qualcomm controllers

Sarthak Garg (3):
  mmc: core: Add partial initialization support
  mmc: sdhci-msm: Enable MMC_CAP_AGGRESSIVE_PM for Qualcomm controllers
  mmc: sdhci-msm: Enable MMC_CAP2_SLEEP_AWAKE for Qualcomm controllers

 drivers/mmc/core/mmc.c       | 163 +++++++++++++++++++++++++++++++++--
 drivers/mmc/host/sdhci-msm.c |   2 +
 include/linux/mmc/card.h     |   4 +
 include/linux/mmc/host.h     |   2 +
 4 files changed, 162 insertions(+), 9 deletions(-)