public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] MMC/SDIO: enable SDIO device to suspend/resume asynchronously
@ 2015-09-21  4:30 Fu, Zhonghui
  2015-10-06  8:21 ` Ulf Hansson
  2015-11-15 13:58 ` Fu, Zhonghui
  0 siblings, 2 replies; 3+ messages in thread
From: Fu, Zhonghui @ 2015-09-21  4:30 UTC (permalink / raw)
  To: Ulf Hansson, Adrian Hunter, neilb, Jaehoon Chung, afenkart, joe
  Cc: linux-mmc, linux-kernel@vger.kernel.org

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 timing dependency between devices. This
patch enables SDIO card and function devices to suspend/resume
asynchronously. This will take advantage of multicore and improve
system suspend/resume speed.

Signed-off-by: Zhonghui Fu <zhonghui.fu@linux.intel.com>
---
Changes in v2:
- Amend commit message.

 drivers/mmc/core/sdio.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index b91abed..6719b77 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -1106,6 +1106,8 @@ int mmc_attach_sdio(struct mmc_host *host)
 		pm_runtime_enable(&card->dev);
 	}
 
+	device_enable_async_suspend(&card->dev);
+
 	/*
 	 * The number of functions on the card is encoded inside
 	 * the ocr.
@@ -1126,6 +1128,8 @@ int mmc_attach_sdio(struct mmc_host *host)
 		 */
 		if (host->caps & MMC_CAP_POWER_OFF_CARD)
 			pm_runtime_enable(&card->sdio_func[i]->dev);
+
+		device_enable_async_suspend(&card->sdio_func[i]->dev);
 	}
 
 	/*
-- 1.7.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] MMC/SDIO: enable SDIO device to suspend/resume asynchronously
  2015-09-21  4:30 [PATCH v2] MMC/SDIO: enable SDIO device to suspend/resume asynchronously Fu, Zhonghui
@ 2015-10-06  8:21 ` Ulf Hansson
  2015-11-15 13:58 ` Fu, Zhonghui
  1 sibling, 0 replies; 3+ messages in thread
From: Ulf Hansson @ 2015-10-06  8:21 UTC (permalink / raw)
  To: Fu, Zhonghui
  Cc: Adrian Hunter, Neil Brown, Jaehoon Chung, Andreas Fenkart,
	Joe Perches, linux-mmc, linux-kernel@vger.kernel.org

On 21 September 2015 at 06:30, Fu, Zhonghui <zhonghui.fu@linux.intel.com> 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 timing dependency between devices. This
> patch enables SDIO card and function devices to suspend/resume
> asynchronously. This will take advantage of multicore and improve
> system suspend/resume speed.
>
> Signed-off-by: Zhonghui Fu <zhonghui.fu@linux.intel.com>
> ---
> Changes in v2:
> - Amend commit message.
>
>  drivers/mmc/core/sdio.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
> index b91abed..6719b77 100644
> --- a/drivers/mmc/core/sdio.c
> +++ b/drivers/mmc/core/sdio.c
> @@ -1106,6 +1106,8 @@ int mmc_attach_sdio(struct mmc_host *host)
>                 pm_runtime_enable(&card->dev);
>         }
>
> +       device_enable_async_suspend(&card->dev);
> +
>         /*
>          * The number of functions on the card is encoded inside
>          * the ocr.
> @@ -1126,6 +1128,8 @@ int mmc_attach_sdio(struct mmc_host *host)
>                  */
>                 if (host->caps & MMC_CAP_POWER_OFF_CARD)
>                         pm_runtime_enable(&card->sdio_func[i]->dev);
> +
> +               device_enable_async_suspend(&card->sdio_func[i]->dev);
>         }
>
>         /*
> -- 1.7.1

I wonder how you guarantee that the mmc host device will be suspended
*after* the SDIO card device and the SDIO func device? Currently that
is controlled via device registration/probe order, without any device
hierarchy configured.

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] MMC/SDIO: enable SDIO device to suspend/resume asynchronously
  2015-09-21  4:30 [PATCH v2] MMC/SDIO: enable SDIO device to suspend/resume asynchronously Fu, Zhonghui
  2015-10-06  8:21 ` Ulf Hansson
@ 2015-11-15 13:58 ` Fu, Zhonghui
  1 sibling, 0 replies; 3+ messages in thread
From: Fu, Zhonghui @ 2015-11-15 13:58 UTC (permalink / raw)
  To: Ulf Hansson, Adrian Hunter, neilb, Jaehoon Chung, afenkart, joe
  Cc: linux-mmc, linux-kernel@vger.kernel.org



Please see the latest version: "[PATCH v3] MMC/SDIO: enable SDIO device to suspend/resume asynchronously".


Thanks,
Zhonghui

On 9/21/2015 12:30 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 timing dependency between devices. This
> patch enables SDIO card and function devices to suspend/resume
> asynchronously. This will take advantage of multicore and improve
> system suspend/resume speed.
>
> Signed-off-by: Zhonghui Fu <zhonghui.fu@linux.intel.com>
> ---
> Changes in v2:
> - Amend commit message.
>
>  drivers/mmc/core/sdio.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
> index b91abed..6719b77 100644
> --- a/drivers/mmc/core/sdio.c
> +++ b/drivers/mmc/core/sdio.c
> @@ -1106,6 +1106,8 @@ int mmc_attach_sdio(struct mmc_host *host)
>  		pm_runtime_enable(&card->dev);
>  	}
>  
> +	device_enable_async_suspend(&card->dev);
> +
>  	/*
>  	 * The number of functions on the card is encoded inside
>  	 * the ocr.
> @@ -1126,6 +1128,8 @@ int mmc_attach_sdio(struct mmc_host *host)
>  		 */
>  		if (host->caps & MMC_CAP_POWER_OFF_CARD)
>  			pm_runtime_enable(&card->sdio_func[i]->dev);
> +
> +		device_enable_async_suspend(&card->sdio_func[i]->dev);
>  	}
>  
>  	/*
> -- 1.7.1
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-11-15 13:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-21  4:30 [PATCH v2] MMC/SDIO: enable SDIO device to suspend/resume asynchronously Fu, Zhonghui
2015-10-06  8:21 ` Ulf Hansson
2015-11-15 13:58 ` Fu, Zhonghui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox