Re: [PATCH 1/2] mmc: enable mmc host device to suspend/resume asynchronously

From: Fu, Zhonghui
Date: Mon Jan 11 2016 - 00:29:05 EST



Hi Ulf,

What do you think about this patch?


Thanks,
Zhonghui

On 12/28/2015 11:39 PM, Fu, Zhonghui wrote:
> Now, PM core supports asynchronous suspend/resume mode for devices
> during system suspend/resume, and the power state transition of one
> device may be completed in separate kernel thread. PM core ensures
> all power state transition dependency between devices. This patch
> enables mmc hosts to suspend/resume asynchronously. This will take
> advantage of multicore and improve system suspend/resume speed.
> After applying this patch and enabling all mmc hosts' child devices
> to suspend/resume asynchronously on ASUS T100TA, the system
> suspend-to-idle time is reduced from 1645ms to 1107ms, and the
> system resume time is reduced from 940ms to 914ms.
>
> Signed-off-by: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx>
> ---
> drivers/mmc/core/host.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
> index da950c4..7222fd7 100644
> --- a/drivers/mmc/core/host.c
> +++ b/drivers/mmc/core/host.c
> @@ -339,6 +339,7 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
> host->class_dev.parent = dev;
> host->class_dev.class = &mmc_host_class;
> device_initialize(&host->class_dev);
> + device_enable_async_suspend(&host->class_dev);
>
> if (mmc_gpio_alloc(host)) {
> put_device(&host->class_dev);
> -- 1.7.1
>