Re: [PATCH 02/12] PCI / PM: Use the NEVER_SKIP driver flag

From: Ulf Hansson
Date: Mon Oct 23 2017 - 12:40:32 EST


On 16 October 2017 at 03:29, Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> Replace the PCI-specific flag PCI_DEV_FLAGS_NEEDS_RESUME with the
> PM core's DPM_FLAG_NEVER_SKIP one everywhere and drop it.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

> ---
> drivers/gpu/drm/i915/i915_drv.c | 2 +-
> drivers/misc/mei/pci-me.c | 2 +-
> drivers/misc/mei/pci-txe.c | 2 +-
> drivers/pci/pci.c | 3 +--
> include/linux/pci.h | 7 +------
> 5 files changed, 5 insertions(+), 11 deletions(-)
>
> Index: linux-pm/include/linux/pci.h
> ===================================================================
> --- linux-pm.orig/include/linux/pci.h
> +++ linux-pm/include/linux/pci.h
> @@ -205,13 +205,8 @@ enum pci_dev_flags {
> PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT = (__force pci_dev_flags_t) (1 << 9),
> /* Do not use FLR even if device advertises PCI_AF_CAP */
> PCI_DEV_FLAGS_NO_FLR_RESET = (__force pci_dev_flags_t) (1 << 10),
> - /*
> - * Resume before calling the driver's system suspend hooks, disabling
> - * the direct_complete optimization.
> - */
> - PCI_DEV_FLAGS_NEEDS_RESUME = (__force pci_dev_flags_t) (1 << 11),
> /* Don't use Relaxed Ordering for TLPs directed at this device */
> - PCI_DEV_FLAGS_NO_RELAXED_ORDERING = (__force pci_dev_flags_t) (1 << 12),
> + PCI_DEV_FLAGS_NO_RELAXED_ORDERING = (__force pci_dev_flags_t) (1 << 11),
> };
>
> enum pci_irq_reroute_variant {
> Index: linux-pm/drivers/pci/pci.c
> ===================================================================
> --- linux-pm.orig/drivers/pci/pci.c
> +++ linux-pm/drivers/pci/pci.c
> @@ -2166,8 +2166,7 @@ bool pci_dev_keep_suspended(struct pci_d
>
> if (!pm_runtime_suspended(dev)
> || pci_target_state(pci_dev, wakeup) != pci_dev->current_state
> - || platform_pci_need_resume(pci_dev)
> - || (pci_dev->dev_flags & PCI_DEV_FLAGS_NEEDS_RESUME))
> + || platform_pci_need_resume(pci_dev))
> return false;
>
> /*
> Index: linux-pm/drivers/gpu/drm/i915/i915_drv.c
> ===================================================================
> --- linux-pm.orig/drivers/gpu/drm/i915/i915_drv.c
> +++ linux-pm/drivers/gpu/drm/i915/i915_drv.c
> @@ -1304,7 +1304,7 @@ int i915_driver_load(struct pci_dev *pde
> * becaue the HDA driver may require us to enable the audio power
> * domain during system suspend.
> */
> - pdev->dev_flags |= PCI_DEV_FLAGS_NEEDS_RESUME;
> + dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP);
>
> ret = i915_driver_init_early(dev_priv, ent);
> if (ret < 0)
> Index: linux-pm/drivers/misc/mei/pci-txe.c
> ===================================================================
> --- linux-pm.orig/drivers/misc/mei/pci-txe.c
> +++ linux-pm/drivers/misc/mei/pci-txe.c
> @@ -141,7 +141,7 @@ static int mei_txe_probe(struct pci_dev
> * MEI requires to resume from runtime suspend mode
> * in order to perform link reset flow upon system suspend.
> */
> - pdev->dev_flags |= PCI_DEV_FLAGS_NEEDS_RESUME;
> + dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP);
>
> /*
> * For not wake-able HW runtime pm framework
> Index: linux-pm/drivers/misc/mei/pci-me.c
> ===================================================================
> --- linux-pm.orig/drivers/misc/mei/pci-me.c
> +++ linux-pm/drivers/misc/mei/pci-me.c
> @@ -223,7 +223,7 @@ static int mei_me_probe(struct pci_dev *
> * MEI requires to resume from runtime suspend mode
> * in order to perform link reset flow upon system suspend.
> */
> - pdev->dev_flags |= PCI_DEV_FLAGS_NEEDS_RESUME;
> + dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_NEVER_SKIP);
>
> /*
> * For not wake-able HW runtime pm framework
>