• Ulf Hansson's avatar
    mmc: block: Enable runtime pm for mmc blkdevice · e94cfef6
    Ulf Hansson authored
    Once the mmc blkdevice is being probed, runtime pm will be enabled.
    By using runtime autosuspend, the power save operations can be done
    when request inactivity occurs for a certain time. Right now the
    selected timeout value is set to 3 s. Obviously this value will likely
    need to be configurable somehow since it needs to be trimmed depending
    on the power save algorithm.
    
    For SD-combo cards, we are still leaving the enablement of runtime PM
    to the SDIO init sequence since it depends on the capabilities of the
    SDIO func driver.
    
    Moreover, when the blk device is being suspended, we make sure the device
    will be runtime resumed. The reason for doing this is that we want the
    host suspend sequence to be unaware of any runtime power save operations
    done for the card in this phase. Thus it can just handle the suspend as
    the card is fully powered from a runtime perspective.
    
    Finally, this patch prepares to make it possible to move BKOPS handling
    into the runtime callbacks for the mmc bus_ops. Thus IDLE BKOPS can be
    accomplished.
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarChris Ball <cjb@laptop.org>
    e94cfef6
block.c 61.6 KB