Skip to contentSkip to conversation

mmc: enable mmc host device to suspend/resume asynchronously

PATCH Superseded Fu, Zhonghui 2 participants 4 messages Jan 22, 2016 – Jan 29, 2016 MMC, SD and SDIO

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 mmc: enable mmc host device to suspend/resume asynchronously

This patch enables mmc hosts to suspend/resume asynchronously. This will 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.

---
Changes in v2:
- Update commit message

 drivers/mmc/core/host.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/mmc/core/host.c +1 -0
index 0aecd5c..1d94607 100644
@@ -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

#1 lore raw
Quoted 6 lines · Zhonghui

This patch enables mmc hosts to suspend/resume asynchronously. This will 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.

Do you really reduce time at all with this patch by its own? I think not.

Moreover, I thought the biggest improvement came from the patch which enabled async suspend/resume for the MMC/SD/SDIO device? ec076cd226c3 ("mmc: enable MMC/SD/SDIO device to suspend/resume asynchronously")

Similar comment applies to patch2/2, but I would expect it together with the $subject patch gives an improvement.

Please update the change-logs one more round.

Kind regards
Uffe

Quoted 24 lines

---
Changes in v2:
- Update commit message

 drivers/mmc/core/host.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/mmc/core/host.c +1 -1
index 0aecd5c..1d94607 100644
@@ -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
#2 lore raw
Quoted 9 lines · Ulf Hansson
Quoted 6 lines · Zhonghui

This patch enables mmc hosts to suspend/resume asynchronously. This will 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.

Do you really reduce time at all with this patch by its own? I think not.

Quoted 8 lines

Moreover, I thought the biggest improvement came from the patch which enabled async suspend/resume for the MMC/SD/SDIO device? ec076cd226c3 ("mmc: enable MMC/SD/SDIO device to suspend/resume asynchronously")

Similar comment applies to patch2/2, but I would expect it together with the $subject patch gives an improvement.

Please update the change-logs one more round.

The reduce time is not contributed by only this patch, please see the change-log: "After applying this patch and enabling all mmc hosts' child devices to suspend/resume asynchronously on ASUS T100TA .......". Actually, the biggest improvement came from the patch - "net/wireless: enable wiphy device to suspend/resume asynchronously(commit 9f0e13546ef5773b7059b531a667ec47a5f897ee)". Wiphy device(phy0) is child device of WiFi card(SDIO card).

Do you mean that I should list the reduce time contributed by only this patch and patch2/2 in change-log?

Thanks,
Zhonghui

Quoted 27 lines

Kind regards
Uffe

Quoted 23 lines

---
Changes in v2:
- Update commit message

 drivers/mmc/core/host.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/mmc/core/host.c +1 -1
index 0aecd5c..1d94607 100644
@@ -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
#3 lore raw
Quoted 16 lines · Zhonghui
Quoted 13 lines · Ulf Hansson
Quoted 6 lines · Zhonghui

This patch enables mmc hosts to suspend/resume asynchronously. This will 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.

Do you really reduce time at all with this patch by its own? I think not.

Moreover, I thought the biggest improvement came from the patch which enabled async suspend/resume for the MMC/SD/SDIO device? ec076cd226c3 ("mmc: enable MMC/SD/SDIO device to suspend/resume asynchronously")

Quoted 8 lines
Quoted 4 lines

Similar comment applies to patch2/2, but I would expect it together with the $subject patch gives an improvement.

Please update the change-logs one more round.

The reduce time is not contributed by only this patch, please see the change-log: "After applying this patch and enabling all mmc hosts' child devices to suspend/resume asynchronously on ASUS T100TA .......". Actually, the biggest improvement came from the patch - "net/wireless: enable wiphy device to suspend/resume asynchronously(commit 9f0e13546ef5773b7059b531a667ec47a5f897ee)". Wiphy device(phy0) is child device of WiFi card(SDIO card).

Do you mean that I should list the reduce time contributed by only this patch and patch2/2 in change-log?

Okay, fair enough. I should have read the change log a bit more detailed.

Let's keep this as is! I have applied both patch 1 and patch2.

Adrian, please tell me if you don't like patch2 (sdhci-acpi), then I will drop it.

Thanks and kind regards
Uffe