1 # SPDX-License-Identifier: GPL-2.0
3 # PCI Express Port Bus Configuration
6 bool "PCI Express Port Bus support"
9 This enables PCI Express Port Bus support. Users can then enable
10 support for Native Hot-Plug, Advanced Error Reporting, Power
11 Management Events, and Downstream Port Containment.
14 # Include service Kconfig here
16 config HOTPLUG_PCI_PCIE
17 bool "PCI Express Hotplug driver"
18 depends on HOTPLUG_PCI && PCIEPORTBUS
21 Say Y here if you have a motherboard that supports PCIe native
24 Thunderbolt/USB4 PCIe tunneling depends on native PCIe hotplug.
29 bool "PCI Express Advanced Error Reporting support"
30 depends on PCIEPORTBUS
33 This enables PCI Express Root Port Advanced Error Reporting
34 (AER) driver support. Error reporting messages sent to Root
35 Port will be handled by PCI Express AER driver.
38 tristate "PCI Express error injection support"
40 select GENERIC_IRQ_INJECTION
42 This enables PCI Express Root Port Advanced Error Reporting
43 (AER) software error injector.
45 Debugging AER code is quite difficult because it is hard
46 to trigger various real hardware errors. Software-based
47 error injection can fake almost all kinds of errors with the
48 help of a user space helper tool aer-inject, which can be
50 https://github.com/intel/aer-inject.git
53 bool "PCI Express CXL RAS support"
55 depends on PCIEAER && CXL_PCI
57 Enables CXL error handling.
65 bool "PCI Express ECRC settings control"
68 Used to override firmware/bios settings for PCI Express ECRC
69 (transaction layer end-to-end CRC checking).
77 bool "PCI Express ASPM control" if EXPERT
80 This enables OS control over PCI Express ASPM (Active State
81 Power Management) and Clock Power Management. ASPM supports
84 ASPM is initially set up by the firmware. With this option enabled,
85 Linux can modify this state in order to disable ASPM on known-bad
86 hardware or configurations and enable it when known-safe.
88 ASPM can be disabled or enabled at runtime via
89 /sys/module/pcie_aspm/parameters/policy
94 prompt "Default ASPM policy"
95 default PCIEASPM_DEFAULT
98 config PCIEASPM_DEFAULT
102 Use the BIOS defaults for PCI Express ASPM.
104 config PCIEASPM_POWERSAVE
108 Enable PCI Express ASPM L0s and L1 where possible, even if the
111 config PCIEASPM_POWER_SUPERSAVE
112 bool "Power Supersave"
115 Same as PCIEASPM_POWERSAVE, except it also enables L1 substates where
116 possible. This would result in higher power savings while staying in L1
117 where the components support it.
119 config PCIEASPM_PERFORMANCE
123 Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them.
128 depends on PCIEPORTBUS && PM
131 bool "PCI Express Downstream Port Containment support"
132 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 This enables PCI Express Precision Time Measurement (PTM)
146 This is only useful if you have devices that support PTM, but it
147 is safe to enable even if you don't.
150 bool "PCI Express Error Disconnect Recover support"
151 depends on PCIE_DPC && ACPI
153 This option adds Error Disconnect Recover support as specified
154 in the Downstream Port Containment Related Enhancements ECN to
155 the PCI Firmware Specification r3.2. Enable this if you want to
156 support hybrid DPC model which uses both firmware and OS to