1 # SPDX-License-Identifier: GPL-2.0
3 # PCI Express Port Bus Configuration
6 bool "PCI Express Port Bus support"
9 This automatically enables PCI Express Port Bus support. Users can
10 choose Native Hot-Plug support, Advanced Error Reporting support,
11 Power Management Event support and Virtual Channel support to run
12 on PCI Express Ports (Root or Switch).
15 # Include service Kconfig here
17 config HOTPLUG_PCI_PCIE
18 bool "PCI Express Hotplug driver"
19 depends on HOTPLUG_PCI && PCIEPORTBUS
21 Say Y here if you have a motherboard that supports PCI Express Native
27 bool "PCI Express Advanced Error Reporting support"
28 depends on PCIEPORTBUS
32 This enables PCI Express Root Port Advanced Error Reporting
33 (AER) driver support. Error reporting messages sent to Root
34 Port will be handled by PCI Express AER driver.
37 tristate "PCI Express error injection support"
41 This enables PCI Express Root Port Advanced Error Reporting
42 (AER) software error injector.
44 Debugging AER code is quite difficult because it is hard
45 to trigger various real hardware errors. Software-based
46 error injection can fake almost all kinds of errors with the
47 help of a user space helper tool aer-inject, which can be
49 http://www.kernel.org/pub/linux/utils/pci/aer-inject/
55 bool "PCI Express ECRC settings control"
58 Used to override firmware/bios settings for PCI Express ECRC
59 (transaction layer end-to-end CRC checking).
67 bool "PCI Express ASPM control" if EXPERT
68 depends on PCI && PCIEPORTBUS
71 This enables OS control over PCI Express ASPM (Active State
72 Power Management) and Clock Power Management. ASPM supports
75 ASPM is initially set up by the firmware. With this option enabled,
76 Linux can modify this state in order to disable ASPM on known-bad
77 hardware or configurations and enable it when known-safe.
79 ASPM can be disabled or enabled at runtime via
80 /sys/module/pcie_aspm/parameters/policy
85 bool "Debug PCI Express ASPM"
89 This enables PCI Express ASPM debug support. It will add per-device
90 interface to control ASPM.
93 prompt "Default ASPM policy"
94 default PCIEASPM_DEFAULT
97 config PCIEASPM_DEFAULT
101 Use the BIOS defaults for PCI Express ASPM.
103 config PCIEASPM_POWERSAVE
107 Enable PCI Express ASPM L0s and L1 where possible, even if the
110 config PCIEASPM_POWER_SUPERSAVE
111 bool "Power Supersave"
114 Same as PCIEASPM_POWERSAVE, except it also enables L1 substates where
115 possible. This would result in higher power savings while staying in L1
116 where the components support it.
118 config PCIEASPM_PERFORMANCE
122 Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them.
127 depends on PCIEPORTBUS && PM
130 bool "PCI Express Downstream Port Containment support"
131 depends on PCIEPORTBUS && PCIEAER
134 This enables PCI Express Downstream Port Containment (DPC)
135 driver support. DPC events from Root and Downstream ports
136 will be handled by the DPC driver. If your system doesn't
137 have this capability or you do not want to use this feature,
138 it is safe to answer N.
141 bool "PCI Express Precision Time Measurement support"
143 depends on PCIEPORTBUS
145 This enables PCI Express Precision Time Measurement (PTM)
148 This is only useful if you have devices that support PTM, but it
149 is safe to enable even if you don't.