PM core: Use new async_schedule_dev command
Use the device specific version of the async_schedule commands to defer various tasks related to power management. By doing this we should see a slight improvement in performance as any device that is sensitive to latency/locality in the setup will now be initializing on the node closest to the device. Reviewed-by: Dan Williams <dan.j.williams@intel.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c37e20eaf4
commit
8b9ec6b732
|
@ -727,7 +727,7 @@ void dpm_noirq_resume_devices(pm_message_t state)
|
|||
reinit_completion(&dev->power.completion);
|
||||
if (is_async(dev)) {
|
||||
get_device(dev);
|
||||
async_schedule(async_resume_noirq, dev);
|
||||
async_schedule_dev(async_resume_noirq, dev);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -884,7 +884,7 @@ void dpm_resume_early(pm_message_t state)
|
|||
reinit_completion(&dev->power.completion);
|
||||
if (is_async(dev)) {
|
||||
get_device(dev);
|
||||
async_schedule(async_resume_early, dev);
|
||||
async_schedule_dev(async_resume_early, dev);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1048,7 +1048,7 @@ void dpm_resume(pm_message_t state)
|
|||
reinit_completion(&dev->power.completion);
|
||||
if (is_async(dev)) {
|
||||
get_device(dev);
|
||||
async_schedule(async_resume, dev);
|
||||
async_schedule_dev(async_resume, dev);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1368,7 +1368,7 @@ static int device_suspend_noirq(struct device *dev)
|
|||
|
||||
if (is_async(dev)) {
|
||||
get_device(dev);
|
||||
async_schedule(async_suspend_noirq, dev);
|
||||
async_schedule_dev(async_suspend_noirq, dev);
|
||||
return 0;
|
||||
}
|
||||
return __device_suspend_noirq(dev, pm_transition, false);
|
||||
|
@ -1571,7 +1571,7 @@ static int device_suspend_late(struct device *dev)
|
|||
|
||||
if (is_async(dev)) {
|
||||
get_device(dev);
|
||||
async_schedule(async_suspend_late, dev);
|
||||
async_schedule_dev(async_suspend_late, dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1835,7 +1835,7 @@ static int device_suspend(struct device *dev)
|
|||
|
||||
if (is_async(dev)) {
|
||||
get_device(dev);
|
||||
async_schedule(async_suspend, dev);
|
||||
async_schedule_dev(async_suspend, dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue