• Ulf Hansson's avatar
    mmc: core: Support aggressive power management for (e)MMC/SD · c4d770d7
    Ulf Hansson authored
    Aggressive power management is suitable when saving power is
    essential. At request inactivity timeout, aka pm runtime
    autosuspend timeout, the card will be suspended.
    
    Once a new request arrives, the card will be re-initalized and
    thus the first request will suffer from a latency. This latency
    is card-specific, experiments has shown in general that SD-cards
    has quite poor initialization time, around 300ms-1100ms. eMMC is
    not surprisingly far better but still a couple of hundreds of ms
    has been observed.
    
    Except for the request latency, it is important to know that
    suspending the card will also prevent the card from executing
    internal house-keeping operations in idle mode. This could mean
    degradation in performance.
    
    To use this feature make sure the request inactivity timeout is
    chosen carefully. This has not been done as a part of this patch.
    
    Enable this feature by using host cap MMC_CAP_AGGRESSIVE_PM and
    by setting CONFIG_MMC_UNSAFE_RESUME.
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarChris Ball <cjb@laptop.org>
    c4d770d7
mmc.c 41.9 KB