summary refs log tree commit diff
path: root/drivers/ata
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2012-01-16 13:23:23 +0800
committerJeff Garzik <jgarzik@redhat.com>2012-01-17 20:48:06 -0500
commit966f1212e1ac5fe3ddf04479d21488ddb36a2608 (patch)
tree86054a1642889b9904faa704504bd098834e91ed /drivers/ata
parenta25a2b84098eb5e001cb8086603d692aa95bf2ec (diff)
downloadlinux-966f1212e1ac5fe3ddf04479d21488ddb36a2608.tar.gz
[libata] enable ata port async suspend
This saves devices suspend/resume time.

Tested system suspend/resume with SATA IDE/AHCI mode 3 times.
Below is the time took for devices suspend/resume.

SATA mode    vanilla-kernel           patched-kernel
---------    ---------------------    ---------------------
IDE          suspend: 0.744           suspend: 0.432
             (0.716, 0.768, 0.748)    (0.440, 0.428, 0.428)

             resume: 5.084            resume: 2.209
             (5.100, 5.064, 5.088)    (2.168, 2.232, 2.228)

AHCI:        suspend: 0.725           suspend: 0.449
             (0.740, 0.708, 0.728)    (0.456, 0.448, 0.444)

             resume: 2.556            resume: 1.896
             (2.604, 2.492, 2.572)    (1.932, 1.872, 1.884)

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-transport.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c
index 9a7f0ea565df..74aaee30e264 100644
--- a/drivers/ata/libata-transport.c
+++ b/drivers/ata/libata-transport.c
@@ -291,6 +291,7 @@ int ata_tport_add(struct device *parent,
 		goto tport_err;
 	}
 
+	device_enable_async_suspend(dev);
 	pm_runtime_set_active(dev);
 	pm_runtime_enable(dev);