Skip to contentSkip to conversation

mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously

PATCH In review Fu, Zhonghui 2 participants 4 messages Dec 28, 2015 – Jan 22, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/2 mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously

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 sdhci-acpi devices to suspend/resume asynchronously. This will take advantage of multicore and improve system suspend/resume speed. After enabling the sdhci-acpi devices and all their child devices to suspend/resume asynchronously on ASUS T100TA, the system suspend-to-idle time is reduced from 1645ms to 1089ms, and the system resume time is reduced from 940ms to 908ms.

---
 drivers/mmc/host/sdhci-acpi.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/mmc/host/sdhci-acpi.c +2 -0
index f6047fc..3d27f2d 100644
@@ -388,6 +388,8 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
 		pm_runtime_enable(dev);
 	}
 
+	device_enable_async_suspend(dev);
+
 	return 0;
 
 err_free:

-- 1.7.1

#1 lore raw

Hi Ulf,

What do you think about this patch?

Thanks,
Zhonghui

Quoted 31 lines · Zhonghui

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 sdhci-acpi devices to suspend/resume asynchronously. This will take advantage of multicore and improve system suspend/resume speed. After enabling the sdhci-acpi devices and all their child devices to suspend/resume asynchronously on ASUS T100TA, the system suspend-to-idle time is reduced from 1645ms to 1089ms, and the system resume time is reduced from 940ms to 908ms.

---
 drivers/mmc/host/sdhci-acpi.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/mmc/host/sdhci-acpi.c +2 -1
index f6047fc..3d27f2d 100644
@@ -388,6 +388,8 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
 		pm_runtime_enable(dev);
 	}
 
+	device_enable_async_suspend(dev);
+
 	return 0;
 
 err_free:
-- 1.7.1
#2 lore raw
In reply to Fu, Zhonghui
Quoted 10 lines · Zhonghui

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 sdhci-acpi devices to suspend/resume asynchronously. This will take advantage of multicore and improve system suspend/resume speed. After enabling the sdhci-acpi devices and all their child devices to suspend/resume asynchronously on ASUS T100TA, the system suspend-to-idle time is reduced from 1645ms to 1089ms, and the system resume time is reduced from 940ms to 908ms.

Same comment as for patch 1.

Quoted 12 lines
---
 drivers/mmc/host/sdhci-acpi.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/mmc/host/sdhci-acpi.c +0 -0
index f6047fc..3d27f2d 100644

drivers/mmc/host/sdhci-acpi.c static int sdhci_acpi_probe(struct platform_device *pdev)

Quoted 9 lines
drivers/mmc/host/sdhci-acpi.c +2 -1
@@ -388,6 +388,8 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
                pm_runtime_enable(dev);
        }
 
+       device_enable_async_suspend(dev);
+
        return 0;
 
 err_free:
-- 1.7.1

Otherwise, looks good!

Kind regards
Uffe

#3 lore raw
Quoted 11 lines · Ulf Hansson
Quoted 10 lines · Zhonghui

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 sdhci-acpi devices to suspend/resume asynchronously. This will take advantage of multicore and improve system suspend/resume speed. After enabling the sdhci-acpi devices and all their child devices to suspend/resume asynchronously on ASUS T100TA, the system suspend-to-idle time is reduced from 1645ms to 1089ms, and the system resume time is reduced from 940ms to 908ms.

Quoted 1 line

Same comment as for patch 1.

I have updated the change log according to your comments and resent this patch - "[PATCH 2/2 v2] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously".

Thanks,
Zhonghui

Quoted 25 lines
Quoted 12 lines
---
 drivers/mmc/host/sdhci-acpi.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/mmc/host/sdhci-acpi.c +0 -0
index f6047fc..3d27f2d 100644

drivers/mmc/host/sdhci-acpi.c static int sdhci_acpi_probe(struct platform_device *pdev)

Quoted 9 lines
drivers/mmc/host/sdhci-acpi.c +2 -1
@@ -388,6 +388,8 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
                pm_runtime_enable(dev);
        }
 
+       device_enable_async_suspend(dev);
+
        return 0;
 
 err_free:
-- 1.7.1

Otherwise, looks good!

Kind regards
Uffe