diff mbox series

[5/5] PCI / PM: Decode D3cold power state correctly

Message ID 20190805205214.194981-6-helgaas@kernel.org
State Changes Requested
Delegated to: Bjorn Helgaas
Headers show
Series PCI: Add PCI_ERROR_RESPONSE, check for errors | expand

Commit Message

Bjorn Helgaas Aug. 5, 2019, 8:52 p.m. UTC
From: Bjorn Helgaas <bhelgaas@google.com>

Use pci_power_name() to print pci_power_t correctly.  This changes:

  "state 0" or "D0"   to   "D0"
  "state 1" or "D1"   to   "D1"
  "state 2" or "D2"   to   "D2"
  "state 3" or "D3"   to   "D3hot"
  "state 4" or "D4"   to   "D3cold"

Changes dmesg logging only, no other functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/pci.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

Comments

Rafael J. Wysocki Aug. 5, 2019, 9:14 p.m. UTC | #1
On Mon, Aug 5, 2019 at 10:52 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> From: Bjorn Helgaas <bhelgaas@google.com>
>
> Use pci_power_name() to print pci_power_t correctly.  This changes:
>
>   "state 0" or "D0"   to   "D0"
>   "state 1" or "D1"   to   "D1"
>   "state 2" or "D2"   to   "D2"
>   "state 3" or "D3"   to   "D3hot"
>   "state 4" or "D4"   to   "D3cold"
>
> Changes dmesg logging only, no other functional change intended.
>
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

> ---
>  drivers/pci/pci.c | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index d8686e3cd5eb..17ae2615ac11 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -834,14 +834,16 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
>                 return -EINVAL;
>
>         /*
> -        * Validate current state:
> -        * Can enter D0 from any state, but if we can only go deeper
> -        * to sleep if we're already in a low power state
> +        * Validate transition: We can enter D0 from any state, but if
> +        * we're already in a low-power state, we can only go deeper.  E.g.,
> +        * we can go from D1 to D3, but we can't go directly from D3 to D1;
> +        * we'd have to go from D3 to D0, then to D1.
>          */
>         if (state != PCI_D0 && dev->current_state <= PCI_D3cold
>             && dev->current_state > state) {
> -               pci_err(dev, "invalid power transition (from state %d to %d)\n",
> -                       dev->current_state, state);
> +               pci_err(dev, "invalid power transition (from %s to %s)\n",
> +                       pci_power_name(dev->current_state),
> +                       pci_power_name(state));
>                 return -EINVAL;
>         }
>
> @@ -896,8 +898,8 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
>         pci_read_config_word(dev, dev->pm_cap + PCI_PM_CTRL, &pmcsr);
>         dev->current_state = pci_power_state(pmcsr);
>         if (dev->current_state != state && printk_ratelimit())
> -               pci_info(dev, "Refused to change power state, currently in D%d\n",
> -                        dev->current_state);
> +               pci_info(dev, "refused to change power state (currently %s)\n",
> +                        pci_power_name(dev->current_state));
>
>         /*
>          * According to section 5.4.1 of the "PCI BUS POWER MANAGEMENT
> --
> 2.22.0.770.g0f2c4a37fd-goog
>
diff mbox series

Patch

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index d8686e3cd5eb..17ae2615ac11 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -834,14 +834,16 @@  static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
 		return -EINVAL;
 
 	/*
-	 * Validate current state:
-	 * Can enter D0 from any state, but if we can only go deeper
-	 * to sleep if we're already in a low power state
+	 * Validate transition: We can enter D0 from any state, but if
+	 * we're already in a low-power state, we can only go deeper.  E.g.,
+	 * we can go from D1 to D3, but we can't go directly from D3 to D1;
+	 * we'd have to go from D3 to D0, then to D1.
 	 */
 	if (state != PCI_D0 && dev->current_state <= PCI_D3cold
 	    && dev->current_state > state) {
-		pci_err(dev, "invalid power transition (from state %d to %d)\n",
-			dev->current_state, state);
+		pci_err(dev, "invalid power transition (from %s to %s)\n",
+			pci_power_name(dev->current_state),
+			pci_power_name(state));
 		return -EINVAL;
 	}
 
@@ -896,8 +898,8 @@  static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
 	pci_read_config_word(dev, dev->pm_cap + PCI_PM_CTRL, &pmcsr);
 	dev->current_state = pci_power_state(pmcsr);
 	if (dev->current_state != state && printk_ratelimit())
-		pci_info(dev, "Refused to change power state, currently in D%d\n",
-			 dev->current_state);
+		pci_info(dev, "refused to change power state (currently %s)\n",
+			 pci_power_name(dev->current_state));
 
 	/*
 	 * According to section 5.4.1 of the "PCI BUS POWER MANAGEMENT