Lines Matching full:pm

315 	 * runtime PM status.  During probe, the device is set to  in local_pci_probe()
317 * supports runtime PM, it should call pm_runtime_put_noidle(), in local_pci_probe()
318 * or any other runtime PM helper function decrementing the usage in local_pci_probe()
483 /* Undo the runtime PM settings in local_pci_probe() */ in pci_device_remove()
652 "PCI PM: Device state not saved by %pS\n", in pci_legacy_suspend()
691 /* Disable non-bridge devices without PM support */ in pci_pm_default_suspend()
702 * Legacy PM support is used by default, so warn if the new framework is in pci_has_legacy_pm_support()
706 pci_WARN(pci_dev, ret && drv->driver.pm, "device %04x:%04x\n", in pci_has_legacy_pm_support()
717 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_prepare() local
719 if (pm && pm->prepare) { in pci_pm_prepare()
720 int error = pm->prepare(dev); in pci_pm_prepare()
786 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_suspend() local
792 * since Coffee Lake, to enter a lower-power PM state. in pci_pm_suspend()
799 if (!pm) { in pci_pm_suspend()
825 if (pm->suspend) { in pci_pm_suspend()
829 error = pm->suspend(dev); in pci_pm_suspend()
830 suspend_report_result(dev, pm->suspend, error); in pci_pm_suspend()
837 "PCI PM: State of device not saved by %pS\n", in pci_pm_suspend()
838 pm->suspend); in pci_pm_suspend()
858 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_suspend_noirq() local
866 if (!pm) { in pci_pm_suspend_noirq()
871 if (pm->suspend_noirq) { in pci_pm_suspend_noirq()
875 error = pm->suspend_noirq(dev); in pci_pm_suspend_noirq()
876 suspend_report_result(dev, pm->suspend_noirq, error); in pci_pm_suspend_noirq()
883 "PCI PM: State of device not saved by %pS\n", in pci_pm_suspend_noirq()
884 pm->suspend_noirq); in pci_pm_suspend_noirq()
901 pci_dbg(pci_dev, "PCI PM: Suspend power state: %s\n", in pci_pm_suspend_noirq()
907 * Per PCI PM r1.2, table 6-1, a bridge must be in D0 if any in pci_pm_suspend_noirq()
916 pci_dbg(pci_dev, "PCI PM: Skipped\n"); in pci_pm_suspend_noirq()
940 * runtime PM. Otherwise, the pm_resume_via_firmware() check will cause in pci_pm_suspend_noirq()
953 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_resume_noirq() local
978 if (pm && pm->resume_noirq) in pci_pm_resume_noirq()
979 return pm->resume_noirq(dev); in pci_pm_resume_noirq()
995 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_resume() local
1011 if (pm) { in pci_pm_resume()
1012 if (pm->resume) in pci_pm_resume()
1013 return pm->resume(dev); in pci_pm_resume()
1037 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_freeze() local
1042 if (!pm) { in pci_pm_freeze()
1058 if (pm->freeze) { in pci_pm_freeze()
1061 error = pm->freeze(dev); in pci_pm_freeze()
1062 suspend_report_result(dev, pm->freeze, error); in pci_pm_freeze()
1073 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_freeze_noirq() local
1078 if (pm && pm->freeze_noirq) { in pci_pm_freeze_noirq()
1081 error = pm->freeze_noirq(dev); in pci_pm_freeze_noirq()
1082 suspend_report_result(dev, pm->freeze_noirq, error); in pci_pm_freeze_noirq()
1098 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_thaw_noirq() local
1101 * The pm->thaw_noirq() callback assumes the device has been in pci_pm_thaw_noirq()
1115 if (pm && pm->thaw_noirq) in pci_pm_thaw_noirq()
1116 return pm->thaw_noirq(dev); in pci_pm_thaw_noirq()
1124 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_thaw() local
1130 if (pm) { in pci_pm_thaw()
1131 if (pm->thaw) in pci_pm_thaw()
1132 error = pm->thaw(dev); in pci_pm_thaw()
1145 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_poweroff() local
1150 if (!pm) { in pci_pm_poweroff()
1164 if (pm->poweroff) { in pci_pm_poweroff()
1167 error = pm->poweroff(dev); in pci_pm_poweroff()
1168 suspend_report_result(dev, pm->poweroff, error); in pci_pm_poweroff()
1189 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_poweroff_noirq() local
1197 if (!pm) { in pci_pm_poweroff_noirq()
1202 if (pm->poweroff_noirq) { in pci_pm_poweroff_noirq()
1205 error = pm->poweroff_noirq(dev); in pci_pm_poweroff_noirq()
1206 suspend_report_result(dev, pm->poweroff_noirq, error); in pci_pm_poweroff_noirq()
1229 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_restore_noirq() local
1237 if (pm && pm->restore_noirq) in pci_pm_restore_noirq()
1238 return pm->restore_noirq(dev); in pci_pm_restore_noirq()
1246 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_restore() local
1260 if (pm) { in pci_pm_restore()
1261 if (pm->restore) in pci_pm_restore()
1262 return pm->restore(dev); in pci_pm_restore()
1289 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_runtime_suspend() local
1306 if (pm && pm->runtime_suspend) { in pci_pm_runtime_suspend()
1307 error = pm->runtime_suspend(dev); in pci_pm_runtime_suspend()
1309 * -EBUSY and -EAGAIN is used to request the runtime PM core in pci_pm_runtime_suspend()
1315 pm->runtime_suspend, error); in pci_pm_runtime_suspend()
1319 pm->runtime_suspend, error); in pci_pm_runtime_suspend()
1326 if (pm && pm->runtime_suspend in pci_pm_runtime_suspend()
1330 "PCI PM: State of device not saved by %pS\n", in pci_pm_runtime_suspend()
1331 pm->runtime_suspend); in pci_pm_runtime_suspend()
1346 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_runtime_resume() local
1367 if (pm && pm->runtime_resume) in pci_pm_runtime_resume()
1368 error = pm->runtime_resume(dev); in pci_pm_runtime_resume()
1376 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_runtime_idle() local
1380 * always remain in D0 regardless of the runtime PM status in pci_pm_runtime_idle()
1385 if (!pm) in pci_pm_runtime_idle()
1388 if (pm->runtime_idle) in pci_pm_runtime_idle()
1389 return pm->runtime_idle(dev); in pci_pm_runtime_idle()
1688 .pm = PCI_PM_OPS_PTR,