Hi Ritesh, On 2017/2/20 16:03, Ritesh Harjani wrote:
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.
For modem eMMC devices which support vccq to be 1v8, you patch seem to work fine but that didn't work for some eMMCs that only support 3v3 vccq, for instance, some older v4.41 eMMC devices. Also, the spec didn't clearly have a statement about the fact that the partial init should work if keeping vqmmc. So finally you should have to add a fallback method once the partial init doesn't work well. In the point, this policy is not just host specified, but also eMMC device specified. So I guess this is why you expose a new DT property here instead?!
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(-)
-- Best Regards Shawn Lin -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html