diff options
author | Fu, Zhonghui <zhonghui.fu@linux.intel.com> | 2015-09-19 10:40:14 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2015-10-08 13:51:22 -0700 |
commit | 8df5a3d4a4f01a605fedc50e98e45c27fb006cd3 (patch) | |
tree | 9b4e086d98d5a12a78349f20fd7f2fdf58a85ddf | |
parent | 5c944b6e917000c072a7be1e7be598defea31b8b (diff) | |
download | chromeos-master.tar.gz |
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 wiphy device to suspend/resume asynchronously. This can
take advantage of multicore and improve system suspend/resume speed.
Comparison of power_Resume test results (by cywang):
w/o patch
seconds_system_resume_kernel{perf}=0.879189
seconds_system_resume{perf}=1.31215405464
w/ patch
seconds_system_resume_kernel{perf}=0.634252
seconds_system_resume{perf}=1.07773995399
This shows an improvement of overall resume time of ~230 ms.
BUG=chrome-os-partner:46185
TEST=run the power_Resume test with and without this patch and check
that the total wake-up time is shorter with this patch.
Change-Id: I5c09b78ffcc4c315ddc698a6e95b60174b7865b5
Signed-off-by: Zhonghui Fu <zhonghui.fu@linux.intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry-picked from 9f0e13546ef5773b7059b531a667ec47a5f897ee)
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/304337
Reviewed-by: Sameer Nanda <snanda@chromium.org>
-rw-r--r-- | net/wireless/core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index ec6c16ece1fa5a..bdd5ff9193633b 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -347,6 +347,7 @@ struct wiphy *wiphy_new(const struct cfg80211_ops *ops, int sizeof_priv) device_initialize(&rdev->wiphy.dev); rdev->wiphy.dev.class = &ieee80211_class; rdev->wiphy.dev.platform_data = rdev; + device_enable_async_suspend(&rdev->wiphy.dev); #ifdef CONFIG_CFG80211_DEFAULT_PS rdev->wiphy.flags |= WIPHY_FLAG_PS_ON_BY_DEFAULT; |