[RFC PATCH 0/4] mmc: core: Provide CMD5 awake and partial_init support

From: Ritesh Harjani
Date: Mon Feb 20 2017 - 03:03:48 EST

As per JEDEC spec - CMD5 can be used to awake from sleep mode for emmc.
This patch series provide CMD5(awake) + mmc_partial_init support to resume
mmc card device. This is mainly to reduce the resume time.

This was tested on db410c (emmc with HS200 mode) and MS8996 (emmc with HS400ES)
based internal board. This patch reduced the resume time by ~50% on msm8996
and ~11% on db410c.

As of now this patch series provides a caps (MMC_CAP2_SLEEP_AWAKE) to enable this feature.
Since there is no dependency on host platform for this, we can enable this feature by
default as well. Thoughts?

Ritesh Harjani (4):
Documentation: mmc: add mmc-sleep-awake
mmc: core: add mmc-sleep-awake caps
mmc: mmc: add support for CMD5 awake
mmc: core: Implement mmc_partial_init during resume

Documentation/devicetree/bindings/mmc/mmc.txt | 2 +
drivers/mmc/core/core.c | 13 +++
drivers/mmc/core/core.h | 1 +
drivers/mmc/core/host.c | 2 +
drivers/mmc/core/mmc.c | 160 ++++++++++++++++++++++++--
include/linux/mmc/card.h | 3 +
include/linux/mmc/host.h | 2 +
7 files changed, 176 insertions(+), 7 deletions(-)

The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project.