Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI/PM: Do not use native PCIe PME by default
This commit is contained in:
commit
dee70a32fa
|
@ -2048,7 +2048,9 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||||
WARNING: Forcing ASPM on may cause system lockups.
|
WARNING: Forcing ASPM on may cause system lockups.
|
||||||
|
|
||||||
pcie_pme= [PCIE,PM] Native PCIe PME signaling options:
|
pcie_pme= [PCIE,PM] Native PCIe PME signaling options:
|
||||||
off Do not use native PCIe PME signaling.
|
Format: {auto|force}[,nomsi]
|
||||||
|
auto Use native PCIe PME signaling if the BIOS allows the
|
||||||
|
kernel to control PCIe config registers of root ports.
|
||||||
force Use native PCIe PME signaling even if the BIOS refuses
|
force Use native PCIe PME signaling even if the BIOS refuses
|
||||||
to allow the kernel to control the relevant PCIe config
|
to allow the kernel to control the relevant PCIe config
|
||||||
registers.
|
registers.
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
* being registered. Consequently, the interrupt-based PCIe PME signaling will
|
* being registered. Consequently, the interrupt-based PCIe PME signaling will
|
||||||
* not be used by any PCIe root ports in that case.
|
* not be used by any PCIe root ports in that case.
|
||||||
*/
|
*/
|
||||||
static bool pcie_pme_disabled;
|
static bool pcie_pme_disabled = true;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The PCI Express Base Specification 2.0, Section 6.1.8, states the following:
|
* The PCI Express Base Specification 2.0, Section 6.1.8, states the following:
|
||||||
|
@ -64,12 +64,19 @@ bool pcie_pme_msi_disabled;
|
||||||
|
|
||||||
static int __init pcie_pme_setup(char *str)
|
static int __init pcie_pme_setup(char *str)
|
||||||
{
|
{
|
||||||
if (!strcmp(str, "off"))
|
if (!strncmp(str, "auto", 4))
|
||||||
pcie_pme_disabled = true;
|
pcie_pme_disabled = false;
|
||||||
else if (!strcmp(str, "force"))
|
else if (!strncmp(str, "force", 5))
|
||||||
pcie_pme_force_enable = true;
|
pcie_pme_force_enable = true;
|
||||||
else if (!strcmp(str, "nomsi"))
|
|
||||||
pcie_pme_msi_disabled = true;
|
str = strchr(str, ',');
|
||||||
|
if (str) {
|
||||||
|
str++;
|
||||||
|
str += strspn(str, " \t");
|
||||||
|
if (*str && !strcmp(str, "nomsi"))
|
||||||
|
pcie_pme_msi_disabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
__setup("pcie_pme=", pcie_pme_setup);
|
__setup("pcie_pme=", pcie_pme_setup);
|
||||||
|
|
Loading…
Reference in New Issue