linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI / PM: Allow PCI devices to be put into D3cold during system suspend
@ 2014-07-21  0:29 Rafael J. Wysocki
  2014-07-21  1:18 ` [Update][PATCH] " Rafael J. Wysocki
  0 siblings, 1 reply; 3+ messages in thread
From: Rafael J. Wysocki @ 2014-07-21  0:29 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Linux PCI, Linux PM list, Linux Kernel Mailing List

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Commit 448bd857d48e (PCI/PM: add PCIe runtime D3cold support) added
a check to prevent PCI devices from being put into D3cold during
system suspend without giving any particular reason (which was
overlooked during review).

Also that check causes the "freeze" sleep state to draw more power
than it can potentially, so drop the check.

Fixes: 448bd857d48e (PCI/PM: add PCIe runtime D3cold support)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/pci/pci.c |    4 ----
 1 file changed, 4 deletions(-)

Index: linux-pm/drivers/pci/pci.c
===================================================================
--- linux-pm.orig/drivers/pci/pci.c
+++ linux-pm/drivers/pci/pci.c
@@ -1907,10 +1907,6 @@ int pci_prepare_to_sleep(struct pci_dev
 	if (target_state == PCI_POWER_ERROR)
 		return -EIO;
 
-	/* D3cold during system suspend/hibernate is not supported */
-	if (target_state > PCI_D3hot)
-		target_state = PCI_D3hot;
-
 	pci_enable_wake(dev, target_state, device_may_wakeup(&dev->dev));
 
 	error = pci_set_power_state(dev, target_state);


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Update][PATCH] PCI / PM: Allow PCI devices to be put into D3cold during system suspend
  2014-07-21  0:29 [PATCH] PCI / PM: Allow PCI devices to be put into D3cold during system suspend Rafael J. Wysocki
@ 2014-07-21  1:18 ` Rafael J. Wysocki
  2014-09-02 23:16   ` Bjorn Helgaas
  0 siblings, 1 reply; 3+ messages in thread
From: Rafael J. Wysocki @ 2014-07-21  1:18 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Linux PCI, Linux PM list, Linux Kernel Mailing List, Huang Ying

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Commit 448bd857d48e (PCI/PM: add PCIe runtime D3cold support) added
a check to prevent PCI devices from being put into D3cold during
system suspend without giving any particular reason.

Also the check isn't really necessary, because acpi_pci_set_power_state()
maps PCI_D3hot to ACPI_STATE_D3_COLD anyway.

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

Ying notices that acpi_pci_set_power_state() maps PCI D3hot to ACPI
D3cold, so the check actually isn't effective even, but that means
that the second part of my original changelog was in fact incorrect.

---
 drivers/pci/pci.c |    4 ----
 1 file changed, 4 deletions(-)

Index: linux-pm/drivers/pci/pci.c
===================================================================
--- linux-pm.orig/drivers/pci/pci.c
+++ linux-pm/drivers/pci/pci.c
@@ -1907,10 +1907,6 @@ int pci_prepare_to_sleep(struct pci_dev
 	if (target_state == PCI_POWER_ERROR)
 		return -EIO;
 
-	/* D3cold during system suspend/hibernate is not supported */
-	if (target_state > PCI_D3hot)
-		target_state = PCI_D3hot;
-
 	pci_enable_wake(dev, target_state, device_may_wakeup(&dev->dev));
 
 	error = pci_set_power_state(dev, target_state);


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Update][PATCH] PCI / PM: Allow PCI devices to be put into D3cold during system suspend
  2014-07-21  1:18 ` [Update][PATCH] " Rafael J. Wysocki
@ 2014-09-02 23:16   ` Bjorn Helgaas
  0 siblings, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2014-09-02 23:16 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Linux PCI, Linux PM list, Linux Kernel Mailing List, Huang Ying

On Mon, Jul 21, 2014 at 03:18:24AM +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Commit 448bd857d48e (PCI/PM: add PCIe runtime D3cold support) added
> a check to prevent PCI devices from being put into D3cold during
> system suspend without giving any particular reason.
> 
> Also the check isn't really necessary, because acpi_pci_set_power_state()
> maps PCI_D3hot to ACPI_STATE_D3_COLD anyway.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Added to pci/pm for v3.18, thanks!

> ---
> 
> Ying notices that acpi_pci_set_power_state() maps PCI D3hot to ACPI
> D3cold, so the check actually isn't effective even, but that means
> that the second part of my original changelog was in fact incorrect.
> 
> ---
>  drivers/pci/pci.c |    4 ----
>  1 file changed, 4 deletions(-)
> 
> Index: linux-pm/drivers/pci/pci.c
> ===================================================================
> --- linux-pm.orig/drivers/pci/pci.c
> +++ linux-pm/drivers/pci/pci.c
> @@ -1907,10 +1907,6 @@ int pci_prepare_to_sleep(struct pci_dev
>  	if (target_state == PCI_POWER_ERROR)
>  		return -EIO;
>  
> -	/* D3cold during system suspend/hibernate is not supported */
> -	if (target_state > PCI_D3hot)
> -		target_state = PCI_D3hot;
> -
>  	pci_enable_wake(dev, target_state, device_may_wakeup(&dev->dev));
>  
>  	error = pci_set_power_state(dev, target_state);
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-09-02 23:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-21  0:29 [PATCH] PCI / PM: Allow PCI devices to be put into D3cold during system suspend Rafael J. Wysocki
2014-07-21  1:18 ` [Update][PATCH] " Rafael J. Wysocki
2014-09-02 23:16   ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).