[1/6] PCI: No need to set d3cold_allowed to PCIe ports
diff mbox

Message ID 1456750566-116248-2-git-send-email-mika.westerberg@linux.intel.com
State Changes Requested, archived
Headers show

Commit Message

Mika Westerberg Feb. 29, 2016, 12:56 p.m. UTC
PCIe ports are already skipped by the PCI core so they are never moved to
D3 (or D3cold) anyway. No need to set the field.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/pci/pcie/portdrv_pci.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

Bjorn Helgaas March 12, 2016, 12:01 a.m. UTC | #1
On Mon, Feb 29, 2016 at 02:56:01PM +0200, Mika Westerberg wrote:
> PCIe ports are already skipped by the PCI core so they are never moved to
> D3 (or D3cold) anyway. No need to set the field.

A pointer to where the PCI core skips these ports would be helpful.
pci_pm_runtime_suspend() is the only place I see that tests d3cold_allowed,
and I don't see that it checks anything about PCIe ports.

> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> ---
>  drivers/pci/pcie/portdrv_pci.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c
> index be35da2e105e..6c6bb03392ea 100644
> --- a/drivers/pci/pcie/portdrv_pci.c
> +++ b/drivers/pci/pcie/portdrv_pci.c
> @@ -134,11 +134,6 @@ static int pcie_portdrv_probe(struct pci_dev *dev,
>  		return status;
>  
>  	pci_save_state(dev);
> -	/*
> -	 * D3cold may not work properly on some PCIe port, so disable
> -	 * it by default.
> -	 */
> -	dev->d3cold_allowed = false;
>  	return 0;
>  }
>  
> -- 
> 2.7.0
> 
> --
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mika Westerberg March 14, 2016, 8:56 a.m. UTC | #2
On Fri, Mar 11, 2016 at 06:01:11PM -0600, Bjorn Helgaas wrote:
> On Mon, Feb 29, 2016 at 02:56:01PM +0200, Mika Westerberg wrote:
> > PCIe ports are already skipped by the PCI core so they are never moved to
> > D3 (or D3cold) anyway. No need to set the field.
> 
> A pointer to where the PCI core skips these ports would be helpful.
> pci_pm_runtime_suspend() is the only place I see that tests d3cold_allowed,
> and I don't see that it checks anything about PCIe ports.

Right, sorry about that. The changelog should say that the PCI core
skips PCI bridges and PCIe ports.

The relevant code is in drivers/pci/pci-driver.c:pci_pm_suspend_noirq():

        if (!pci_dev->state_saved) {
                pci_save_state(pci_dev);
                if (!pci_has_subordinate(pci_dev))
                        pci_prepare_to_sleep(pci_dev);
        }

It checks if the device has subordinate devices if not moves the device
to low power state.
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c
index be35da2e105e..6c6bb03392ea 100644
--- a/drivers/pci/pcie/portdrv_pci.c
+++ b/drivers/pci/pcie/portdrv_pci.c
@@ -134,11 +134,6 @@  static int pcie_portdrv_probe(struct pci_dev *dev,
 		return status;
 
 	pci_save_state(dev);
-	/*
-	 * D3cold may not work properly on some PCIe port, so disable
-	 * it by default.
-	 */
-	dev->d3cold_allowed = false;
 	return 0;
 }