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

From: Sarthak Garg
Date: Thu Oct 19 2023 - 01:46:29 EST


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(-)

--
2.17.1