PCI: pcie: Add support for setting default ASPM policy
Distributions may wish to provide different defaults for PCIE ASPM depending on their target audience. Provide a configuration option for choosing the default policy. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
This commit is contained in:
Родитель
f67fd55fa9
Коммит
ad71c96213
|
@ -55,6 +55,31 @@ config PCIEASPM_DEBUG
|
||||||
This enables PCI Express ASPM debug support. It will add per-device
|
This enables PCI Express ASPM debug support. It will add per-device
|
||||||
interface to control ASPM.
|
interface to control ASPM.
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Default ASPM policy"
|
||||||
|
default PCIEASPM_DEFAULT
|
||||||
|
depends on PCIEASPM
|
||||||
|
|
||||||
|
config PCIEASPM_DEFAULT
|
||||||
|
bool "BIOS default"
|
||||||
|
depends on PCIEASPM
|
||||||
|
help
|
||||||
|
Use the BIOS defaults for PCI Express ASPM.
|
||||||
|
|
||||||
|
config PCIEASPM_POWERSAVE
|
||||||
|
bool "Powersave"
|
||||||
|
depends on PCIEASPM
|
||||||
|
help
|
||||||
|
Enable PCI Express ASPM L0s and L1 where possible, even if the
|
||||||
|
BIOS did not.
|
||||||
|
|
||||||
|
config PCIEASPM_PERFORMANCE
|
||||||
|
bool "Performance"
|
||||||
|
depends on PCIEASPM
|
||||||
|
help
|
||||||
|
Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them.
|
||||||
|
endchoice
|
||||||
|
|
||||||
config PCIE_PME
|
config PCIE_PME
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on PCIEPORTBUS && PM_RUNTIME && EXPERIMENTAL && ACPI
|
depends on PCIEPORTBUS && PM_RUNTIME && EXPERIMENTAL && ACPI
|
||||||
|
|
|
@ -76,7 +76,15 @@ static LIST_HEAD(link_list);
|
||||||
#define POLICY_DEFAULT 0 /* BIOS default setting */
|
#define POLICY_DEFAULT 0 /* BIOS default setting */
|
||||||
#define POLICY_PERFORMANCE 1 /* high performance */
|
#define POLICY_PERFORMANCE 1 /* high performance */
|
||||||
#define POLICY_POWERSAVE 2 /* high power saving */
|
#define POLICY_POWERSAVE 2 /* high power saving */
|
||||||
|
|
||||||
|
#ifdef CONFIG_PCIEASPM_PERFORMANCE
|
||||||
|
static int aspm_policy = POLICY_PERFORMANCE;
|
||||||
|
#elif defined CONFIG_PCIEASPM_POWERSAVE
|
||||||
|
static int aspm_policy = POLICY_POWERSAVE;
|
||||||
|
#else
|
||||||
static int aspm_policy;
|
static int aspm_policy;
|
||||||
|
#endif
|
||||||
|
|
||||||
static const char *policy_str[] = {
|
static const char *policy_str[] = {
|
||||||
[POLICY_DEFAULT] = "default",
|
[POLICY_DEFAULT] = "default",
|
||||||
[POLICY_PERFORMANCE] = "performance",
|
[POLICY_PERFORMANCE] = "performance",
|
||||||
|
|
Загрузка…
Ссылка в новой задаче