diff options
Diffstat (limited to 'pci-aspm-dont-enable-too-early.patch')
-rw-r--r-- | pci-aspm-dont-enable-too-early.patch | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/pci-aspm-dont-enable-too-early.patch b/pci-aspm-dont-enable-too-early.patch deleted file mode 100644 index ea91a2554..000000000 --- a/pci-aspm-dont-enable-too-early.patch +++ /dev/null @@ -1,50 +0,0 @@ -From: Matthew Garrett <mjg@redhat.com> -Date: Wed, 9 Jun 2010 20:05:07 +0000 (-0400) -Subject: PCI: Don't enable aspm before drivers have had a chance to veto it -X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fjbarnes%2Fpci-2.6.git;a=commitdiff_plain;h=8f0b08c29f1df91315e48adce04462eb23671099 - -PCI: Don't enable aspm before drivers have had a chance to veto it - -The aspm code will currently set the configured aspm policy before drivers -have had an opportunity to indicate that their hardware doesn't support it. -Unfortunately, putting some hardware in L0 or L1 can result in the hardware -no longer responding to any requests, even after aspm is disabled. It makes -more sense to leave aspm policy at the BIOS defaults at initial setup time, -reconfiguring it after pci_enable_device() is called. This allows the -driver to blacklist individual devices beforehand. - -Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> -Signed-off-by: Matthew Garrett <mjg@redhat.com> -Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> ---- - -diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c -index be53d98..7122281 100644 ---- a/drivers/pci/pcie/aspm.c -+++ b/drivers/pci/pcie/aspm.c -@@ -588,11 +588,23 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev) - * update through pcie_aspm_cap_init(). - */ - pcie_aspm_cap_init(link, blacklist); -- pcie_config_aspm_path(link); - - /* Setup initial Clock PM state */ - pcie_clkpm_cap_init(link, blacklist); -- pcie_set_clkpm(link, policy_to_clkpm_state(link)); -+ -+ /* -+ * At this stage drivers haven't had an opportunity to change the -+ * link policy setting. Enabling ASPM on broken hardware can cripple -+ * it even before the driver has had a chance to disable ASPM, so -+ * default to a safe level right now. If we're enabling ASPM beyond -+ * the BIOS's expectation, we'll do so once pci_enable_device() is -+ * called. -+ */ -+ if (aspm_policy != POLICY_POWERSAVE) { -+ pcie_config_aspm_path(link); -+ pcie_set_clkpm(link, policy_to_clkpm_state(link)); -+ } -+ - unlock: - mutex_unlock(&aspm_lock); - out: |