PM: sleep: core: Rename DPM_FLAG_NEVER_SKIP

Rename DPM_FLAG_NEVER_SKIP to DPM_FLAG_NO_DIRECT_COMPLETE which
matches its purpose more closely.

No functional impact.

Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com> # for PCI parts
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Rafael J. Wysocki 2020-04-18 18:53:01 +02:00
parent fa2bfead91
commit e07515563d
13 changed files with 21 additions and 21 deletions

View File

@ -361,9 +361,9 @@ the phases are: ``prepare``, ``suspend``, ``suspend_late``, ``suspend_noirq``.
runtime PM disabled. runtime PM disabled.
This feature also can be controlled by device drivers by using the This feature also can be controlled by device drivers by using the
``DPM_FLAG_NEVER_SKIP`` and ``DPM_FLAG_SMART_PREPARE`` driver power ``DPM_FLAG_NO_DIRECT_COMPLETE`` and ``DPM_FLAG_SMART_PREPARE`` driver
management flags. [Typically, they are set at the time the driver is power management flags. [Typically, they are set at the time the driver
probed against the device in question by passing them to the is probed against the device in question by passing them to the
:c:func:`dev_pm_set_driver_flags` helper function.] If the first of :c:func:`dev_pm_set_driver_flags` helper function.] If the first of
these flags is set, the PM core will not apply the direct-complete these flags is set, the PM core will not apply the direct-complete
procedure described above to the given device and, consequenty, to any procedure described above to the given device and, consequenty, to any

View File

@ -1004,11 +1004,11 @@ including the PCI bus type. The flags should be set once at the driver probe
time with the help of the dev_pm_set_driver_flags() function and they should not time with the help of the dev_pm_set_driver_flags() function and they should not
be updated directly afterwards. be updated directly afterwards.
The DPM_FLAG_NEVER_SKIP flag prevents the PM core from using the direct-complete The DPM_FLAG_NO_DIRECT_COMPLETE flag prevents the PM core from using the
mechanism allowing device suspend/resume callbacks to be skipped if the device direct-complete mechanism allowing device suspend/resume callbacks to be skipped
is in runtime suspend when the system suspend starts. That also affects all of if the device is in runtime suspend when the system suspend starts. That also
the ancestors of the device, so this flag should only be used if absolutely affects all of the ancestors of the device, so this flag should only be used if
necessary. absolutely necessary.
The DPM_FLAG_SMART_PREPARE flag instructs the PCI bus type to only return a The DPM_FLAG_SMART_PREPARE flag instructs the PCI bus type to only return a
positive value from pci_pm_prepare() if the ->prepare callback provided by the positive value from pci_pm_prepare() if the ->prepare callback provided by the

View File

@ -1844,7 +1844,7 @@ unlock:
spin_lock_irq(&dev->power.lock); spin_lock_irq(&dev->power.lock);
dev->power.direct_complete = state.event == PM_EVENT_SUSPEND && dev->power.direct_complete = state.event == PM_EVENT_SUSPEND &&
(ret > 0 || dev->power.no_pm_callbacks) && (ret > 0 || dev->power.no_pm_callbacks) &&
!dev_pm_test_driver_flags(dev, DPM_FLAG_NEVER_SKIP); !dev_pm_test_driver_flags(dev, DPM_FLAG_NO_DIRECT_COMPLETE);
spin_unlock_irq(&dev->power.lock); spin_unlock_irq(&dev->power.lock);
return 0; return 0;
} }

View File

@ -191,7 +191,7 @@ int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags)
} }
if (adev->runpm) { if (adev->runpm) {
dev_pm_set_driver_flags(dev->dev, DPM_FLAG_NEVER_SKIP); dev_pm_set_driver_flags(dev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
pm_runtime_use_autosuspend(dev->dev); pm_runtime_use_autosuspend(dev->dev);
pm_runtime_set_autosuspend_delay(dev->dev, 5000); pm_runtime_set_autosuspend_delay(dev->dev, 5000);
pm_runtime_set_active(dev->dev); pm_runtime_set_active(dev->dev);

View File

@ -549,7 +549,7 @@ void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
* becaue the HDA driver may require us to enable the audio power * becaue the HDA driver may require us to enable the audio power
* domain during system suspend. * domain during system suspend.
*/ */
dev_pm_set_driver_flags(kdev, DPM_FLAG_NEVER_SKIP); dev_pm_set_driver_flags(kdev, DPM_FLAG_NO_DIRECT_COMPLETE);
pm_runtime_set_autosuspend_delay(kdev, 10000); /* 10s */ pm_runtime_set_autosuspend_delay(kdev, 10000); /* 10s */
pm_runtime_mark_last_busy(kdev); pm_runtime_mark_last_busy(kdev);

View File

@ -158,7 +158,7 @@ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags)
} }
if (radeon_is_px(dev)) { if (radeon_is_px(dev)) {
dev_pm_set_driver_flags(dev->dev, DPM_FLAG_NEVER_SKIP); dev_pm_set_driver_flags(dev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
pm_runtime_use_autosuspend(dev->dev); pm_runtime_use_autosuspend(dev->dev);
pm_runtime_set_autosuspend_delay(dev->dev, 5000); pm_runtime_set_autosuspend_delay(dev->dev, 5000);
pm_runtime_set_active(dev->dev); pm_runtime_set_active(dev->dev);

View File

@ -240,7 +240,7 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
* MEI requires to resume from runtime suspend mode * MEI requires to resume from runtime suspend mode
* in order to perform link reset flow upon system suspend. * in order to perform link reset flow upon system suspend.
*/ */
dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP); dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
/* /*
* ME maps runtime suspend/resume to D0i states, * ME maps runtime suspend/resume to D0i states,

View File

@ -128,7 +128,7 @@ static int mei_txe_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
* MEI requires to resume from runtime suspend mode * MEI requires to resume from runtime suspend mode
* in order to perform link reset flow upon system suspend. * in order to perform link reset flow upon system suspend.
*/ */
dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP); dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
/* /*
* TXE maps runtime suspend/resume to own power gating states, * TXE maps runtime suspend/resume to own power gating states,

View File

@ -7549,7 +7549,7 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
e1000_print_device_info(adapter); e1000_print_device_info(adapter);
dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP); dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
if (pci_dev_run_wake(pdev) && hw->mac.type < e1000_pch_cnp) if (pci_dev_run_wake(pdev) && hw->mac.type < e1000_pch_cnp)
pm_runtime_put_noidle(&pdev->dev); pm_runtime_put_noidle(&pdev->dev);

View File

@ -3445,7 +3445,7 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
} }
} }
dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP); dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
pm_runtime_put_noidle(&pdev->dev); pm_runtime_put_noidle(&pdev->dev);
return 0; return 0;

View File

@ -4825,7 +4825,7 @@ static int igc_probe(struct pci_dev *pdev,
pcie_print_link_status(pdev); pcie_print_link_status(pdev);
netdev_info(netdev, "MAC: %pM\n", netdev->dev_addr); netdev_info(netdev, "MAC: %pM\n", netdev->dev_addr);
dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP); dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NO_DIRECT_COMPLETE);
pm_runtime_put_noidle(&pdev->dev); pm_runtime_put_noidle(&pdev->dev);

View File

@ -115,7 +115,7 @@ static int pcie_portdrv_probe(struct pci_dev *dev,
pci_save_state(dev); pci_save_state(dev);
dev_pm_set_driver_flags(&dev->dev, DPM_FLAG_NEVER_SKIP | dev_pm_set_driver_flags(&dev->dev, DPM_FLAG_NO_DIRECT_COMPLETE |
DPM_FLAG_SMART_SUSPEND); DPM_FLAG_SMART_SUSPEND);
if (pci_bridge_d3_possible(dev)) { if (pci_bridge_d3_possible(dev)) {

View File

@ -544,7 +544,7 @@ struct pm_subsys_data {
* These flags can be set by device drivers at the probe time. They need not be * These flags can be set by device drivers at the probe time. They need not be
* cleared by the drivers as the driver core will take care of that. * cleared by the drivers as the driver core will take care of that.
* *
* NEVER_SKIP: Do not skip all system suspend/resume callbacks for the device. * NO_DIRECT_COMPLETE: Do not apply direct-complete optimization to the device.
* SMART_PREPARE: Check the return value of the driver's ->prepare callback. * SMART_PREPARE: Check the return value of the driver's ->prepare callback.
* SMART_SUSPEND: No need to resume the device from runtime suspend. * SMART_SUSPEND: No need to resume the device from runtime suspend.
* LEAVE_SUSPENDED: Avoid resuming the device during system resume if possible. * LEAVE_SUSPENDED: Avoid resuming the device during system resume if possible.
@ -554,7 +554,7 @@ struct pm_subsys_data {
* their ->prepare callbacks if the driver's ->prepare callback returns 0 (in * their ->prepare callbacks if the driver's ->prepare callback returns 0 (in
* other words, the system suspend/resume callbacks can only be skipped for the * other words, the system suspend/resume callbacks can only be skipped for the
* device if its driver doesn't object against that). This flag has no effect * device if its driver doesn't object against that). This flag has no effect
* if NEVER_SKIP is set. * if NO_DIRECT_COMPLETE is set.
* *
* Setting SMART_SUSPEND instructs bus types and PM domains which may want to * Setting SMART_SUSPEND instructs bus types and PM domains which may want to
* runtime resume the device upfront during system suspend that doing so is not * runtime resume the device upfront during system suspend that doing so is not
@ -565,7 +565,7 @@ struct pm_subsys_data {
* Setting LEAVE_SUSPENDED informs the PM core and middle-layer code that the * Setting LEAVE_SUSPENDED informs the PM core and middle-layer code that the
* driver prefers the device to be left in suspend after system resume. * driver prefers the device to be left in suspend after system resume.
*/ */
#define DPM_FLAG_NEVER_SKIP BIT(0) #define DPM_FLAG_NO_DIRECT_COMPLETE BIT(0)
#define DPM_FLAG_SMART_PREPARE BIT(1) #define DPM_FLAG_SMART_PREPARE BIT(1)
#define DPM_FLAG_SMART_SUSPEND BIT(2) #define DPM_FLAG_SMART_SUSPEND BIT(2)
#define DPM_FLAG_LEAVE_SUSPENDED BIT(3) #define DPM_FLAG_LEAVE_SUSPENDED BIT(3)