Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad71c962 authored by Matthew Garrett's avatar Matthew Garrett Committed by Jesse Barnes
Browse files

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: default avatarMatthew Garrett <mjg@redhat.com>
Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent f67fd55f
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -55,6 +55,31 @@ config PCIEASPM_DEBUG
	  This enables PCI Express ASPM debug support. It will add per-device
	  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
	def_bool y
	depends on PCIEPORTBUS && PM_RUNTIME && EXPERIMENTAL && ACPI
+8 −0
Original line number Diff line number Diff line
@@ -76,7 +76,15 @@ static LIST_HEAD(link_list);
#define POLICY_DEFAULT 0	/* BIOS default setting */
#define POLICY_PERFORMANCE 1	/* high performance */
#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;
#endif

static const char *policy_str[] = {
	[POLICY_DEFAULT] = "default",
	[POLICY_PERFORMANCE] = "performance",