diff mbox

[Update] PCI / PM: Allow PCI devices to be put into D3cold during system suspend

Message ID 2273188.7kGSSgiQeA@vostro.rjw.lan
State Accepted
Headers show

Commit Message

Rafael J. Wysocki July 21, 2014, 1:18 a.m. UTC
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(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Bjorn Helgaas Sept. 2, 2014, 11:16 p.m. UTC | #1
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);
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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);