mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
pci-v6.7-fixes-2
-----BEGIN PGP SIGNATURE----- iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAmWV2l4UHGJoZWxnYWFz QGdvb2dsZS5jb20ACgkQWYigwDrT+vxclQ/+MnvkjfYgy74YcqpzessK6QX67txJ w2jVvmEM/23ghmuNmjv69YYo4rwq3V3S1quflwlKJ+ZEgVhS52aqedH3tYK3+xSH GYoMB/hhnHRfyOz1ZOV2ozk5awJ4jy9eR2b5KFziUWbHKTjksHvbkUUo3+K/CkN7 TFwfiFJfhe7wcsriknNa0DXdgp70ohVAveLLekswRM3wcf32YPUiCx9F8f0b0/K4 FVZxvgdeh7IDnXrqBRaGMcLSVm6jHDJ4Hrg8Oqsd8CYGxA5nZaujStaHmWSQwscv puZfoBrZ7oiEzj6z0aqUoGGXRfHtlqfj0hXESXhW6DdD7DSGc1eIRONl+50IF7l9 0AYBs6zIqYRXbnMGcwfW82HAaH5V8IsqDUQSFf+E8lwVmsQXg66pO9sIrQcM9N9O WDIa6GuQBQ9GACd1FK8cSCUW4AH9UMPekQn0YkpALoWs/gkHCtlRGcPjIg41CXuY LVhd88k/2Gj1czhGDaM+Hw80uWyGJo3xfy1cZHkgtzDM7C3yIzj/N94/utEdBCo5 WEw3yU0vtvjIeLTyekNvMP3o9Xwg3soNrgi9GcXtCh75z2g9A61/8/cSCIwZ2w6K 8qi584jx2H165JpZT/u9FjS4T3Bylqdn7o9OQvylsayMBSBfldtEfEan0NkYSMha TPFw9USAUeKbfMo= =oNzd -----END PGP SIGNATURE----- Merge tag 'pci-v6.7-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci Pull PCI fixes from Bjorn Helgaas: - Revert an ASPM patch that caused an unintended reboot when resuming after suspend (Bjorn Helgaas) - Orphan Cadence PCIe IP (Bjorn Helgaas) * tag 'pci-v6.7-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: MAINTAINERS: Orphan Cadence PCIe IP Revert "PCI/ASPM: Remove pcie_aspm_pm_state_change()"
This commit is contained in:
commit
ac865f00af
4
CREDITS
4
CREDITS
@ -1855,6 +1855,10 @@ D: Fedora kernel maintenance (2003-2014).
|
|||||||
D: 'Trinity' and similar fuzz testing work.
|
D: 'Trinity' and similar fuzz testing work.
|
||||||
D: Misc/Other.
|
D: Misc/Other.
|
||||||
|
|
||||||
|
N: Tom Joseph
|
||||||
|
E: tjoseph@cadence.com
|
||||||
|
D: Cadence PCIe driver
|
||||||
|
|
||||||
N: Martin Josfsson
|
N: Martin Josfsson
|
||||||
E: gandalf@wlug.westbo.se
|
E: gandalf@wlug.westbo.se
|
||||||
P: 1024D/F6B6D3B1 7610 7CED 5C34 4AA6 DBA2 8BE1 5A6D AF95 F6B6 D3B1
|
P: 1024D/F6B6D3B1 7610 7CED 5C34 4AA6 DBA2 8BE1 5A6D AF95 F6B6 D3B1
|
||||||
|
@ -16458,11 +16458,10 @@ F: Documentation/devicetree/bindings/pci/pci-armada8k.txt
|
|||||||
F: drivers/pci/controller/dwc/pcie-armada8k.c
|
F: drivers/pci/controller/dwc/pcie-armada8k.c
|
||||||
|
|
||||||
PCI DRIVER FOR CADENCE PCIE IP
|
PCI DRIVER FOR CADENCE PCIE IP
|
||||||
M: Tom Joseph <tjoseph@cadence.com>
|
|
||||||
L: linux-pci@vger.kernel.org
|
L: linux-pci@vger.kernel.org
|
||||||
S: Maintained
|
S: Orphan
|
||||||
F: Documentation/devicetree/bindings/pci/cdns,*
|
F: Documentation/devicetree/bindings/pci/cdns,*
|
||||||
F: drivers/pci/controller/cadence/
|
F: drivers/pci/controller/cadence/*cadence*
|
||||||
|
|
||||||
PCI DRIVER FOR FREESCALE LAYERSCAPE
|
PCI DRIVER FOR FREESCALE LAYERSCAPE
|
||||||
M: Minghuan Lian <minghuan.Lian@nxp.com>
|
M: Minghuan Lian <minghuan.Lian@nxp.com>
|
||||||
|
@ -1335,6 +1335,9 @@ static int pci_set_full_power_state(struct pci_dev *dev)
|
|||||||
pci_restore_bars(dev);
|
pci_restore_bars(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dev->bus->self)
|
||||||
|
pcie_aspm_pm_state_change(dev->bus->self);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1429,6 +1432,9 @@ static int pci_set_low_power_state(struct pci_dev *dev, pci_power_t state)
|
|||||||
pci_power_name(dev->current_state),
|
pci_power_name(dev->current_state),
|
||||||
pci_power_name(state));
|
pci_power_name(state));
|
||||||
|
|
||||||
|
if (dev->bus->self)
|
||||||
|
pcie_aspm_pm_state_change(dev->bus->self);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -569,10 +569,12 @@ int pcie_retrain_link(struct pci_dev *pdev, bool use_lt);
|
|||||||
#ifdef CONFIG_PCIEASPM
|
#ifdef CONFIG_PCIEASPM
|
||||||
void pcie_aspm_init_link_state(struct pci_dev *pdev);
|
void pcie_aspm_init_link_state(struct pci_dev *pdev);
|
||||||
void pcie_aspm_exit_link_state(struct pci_dev *pdev);
|
void pcie_aspm_exit_link_state(struct pci_dev *pdev);
|
||||||
|
void pcie_aspm_pm_state_change(struct pci_dev *pdev);
|
||||||
void pcie_aspm_powersave_config_link(struct pci_dev *pdev);
|
void pcie_aspm_powersave_config_link(struct pci_dev *pdev);
|
||||||
#else
|
#else
|
||||||
static inline void pcie_aspm_init_link_state(struct pci_dev *pdev) { }
|
static inline void pcie_aspm_init_link_state(struct pci_dev *pdev) { }
|
||||||
static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev) { }
|
static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev) { }
|
||||||
|
static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev) { }
|
||||||
static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { }
|
static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1008,6 +1008,25 @@ void pcie_aspm_exit_link_state(struct pci_dev *pdev)
|
|||||||
up_read(&pci_bus_sem);
|
up_read(&pci_bus_sem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* @pdev: the root port or switch downstream port */
|
||||||
|
void pcie_aspm_pm_state_change(struct pci_dev *pdev)
|
||||||
|
{
|
||||||
|
struct pcie_link_state *link = pdev->link_state;
|
||||||
|
|
||||||
|
if (aspm_disabled || !link)
|
||||||
|
return;
|
||||||
|
/*
|
||||||
|
* Devices changed PM state, we should recheck if latency
|
||||||
|
* meets all functions' requirement
|
||||||
|
*/
|
||||||
|
down_read(&pci_bus_sem);
|
||||||
|
mutex_lock(&aspm_lock);
|
||||||
|
pcie_update_aspm_capable(link->root);
|
||||||
|
pcie_config_aspm_path(link);
|
||||||
|
mutex_unlock(&aspm_lock);
|
||||||
|
up_read(&pci_bus_sem);
|
||||||
|
}
|
||||||
|
|
||||||
void pcie_aspm_powersave_config_link(struct pci_dev *pdev)
|
void pcie_aspm_powersave_config_link(struct pci_dev *pdev)
|
||||||
{
|
{
|
||||||
struct pcie_link_state *link = pdev->link_state;
|
struct pcie_link_state *link = pdev->link_state;
|
||||||
|
Loading…
Reference in New Issue
Block a user