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://git.kernel.org/cgit/linux/kernel/git/gong.chen/aer-inject.git/
56 bool "PCI Express ECRC settings control"
59 Used to override firmware/bios settings for PCI Express ECRC
60 (transaction layer end-to-end CRC checking).
68 bool "PCI Express ASPM control" if EXPERT
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 prompt "Default ASPM policy"
86 default PCIEASPM_DEFAULT
89 config PCIEASPM_DEFAULT
93 Use the BIOS defaults for PCI Express ASPM.
95 config PCIEASPM_POWERSAVE
99 Enable PCI Express ASPM L0s and L1 where possible, even if the
102 config PCIEASPM_POWER_SUPERSAVE
103 bool "Power Supersave"
106 Same as PCIEASPM_POWERSAVE, except it also enables L1 substates where
107 possible. This would result in higher power savings while staying in L1
108 where the components support it.
110 config PCIEASPM_PERFORMANCE
114 Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them.
119 depends on PCIEPORTBUS && PM
122 bool "PCI Express Downstream Port Containment support"
123 depends on PCIEPORTBUS && PCIEAER
125 This enables PCI Express Downstream Port Containment (DPC)
126 driver support. DPC events from Root and Downstream ports
127 will be handled by the DPC driver. If your system doesn't
128 have this capability or you do not want to use this feature,
129 it is safe to answer N.
132 bool "PCI Express Precision Time Measurement support"
134 This enables PCI Express Precision Time Measurement (PTM)
137 This is only useful if you have devices that support PTM, but it
138 is safe to enable even if you don't.
141 bool "PCI Express Error Disconnect Recover support"
142 depends on PCIE_DPC && ACPI
144 This option adds Error Disconnect Recover support as specified
145 in the Downstream Port Containment Related Enhancements ECN to
146 the PCI Firmware Specification r3.2. Enable this if you want to
147 support hybrid DPC model which uses both firmware and OS to