123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- # SPDX-License-Identifier: GPL-2.0
- #
- # PCI Express Port Bus Configuration
- #
- config PCIEPORTBUS
- bool "PCI Express Port Bus support"
- help
- This enables PCI Express Port Bus support. Users can then enable
- support for Native Hot-Plug, Advanced Error Reporting, Power
- Management Events, and Downstream Port Containment.
- #
- # Include service Kconfig here
- #
- config HOTPLUG_PCI_PCIE
- bool "PCI Express Hotplug driver"
- depends on HOTPLUG_PCI && PCIEPORTBUS
- help
- Say Y here if you have a motherboard that supports PCI Express Native
- Hotplug
- When in doubt, say N.
- config PCIEAER
- bool "PCI Express Advanced Error Reporting support"
- depends on PCIEPORTBUS
- select RAS
- help
- This enables PCI Express Root Port Advanced Error Reporting
- (AER) driver support. Error reporting messages sent to Root
- Port will be handled by PCI Express AER driver.
- config PCIEAER_INJECT
- tristate "PCI Express error injection support"
- depends on PCIEAER
- select GENERIC_IRQ_INJECTION
- help
- This enables PCI Express Root Port Advanced Error Reporting
- (AER) software error injector.
- Debugging AER code is quite difficult because it is hard
- to trigger various real hardware errors. Software-based
- error injection can fake almost all kinds of errors with the
- help of a user space helper tool aer-inject, which can be
- gotten from:
- https://git.kernel.org/cgit/linux/kernel/git/gong.chen/aer-inject.git/
- #
- # PCI Express ECRC
- #
- config PCIE_ECRC
- bool "PCI Express ECRC settings control"
- depends on PCIEAER
- help
- Used to override firmware/bios settings for PCI Express ECRC
- (transaction layer end-to-end CRC checking).
- When in doubt, say N.
- #
- # PCI Express ASPM
- #
- config PCIEASPM
- bool "PCI Express ASPM control" if EXPERT
- default y
- help
- This enables OS control over PCI Express ASPM (Active State
- Power Management) and Clock Power Management. ASPM supports
- state L0/L0s/L1.
- ASPM is initially set up by the firmware. With this option enabled,
- Linux can modify this state in order to disable ASPM on known-bad
- hardware or configurations and enable it when known-safe.
- ASPM can be disabled or enabled at runtime via
- /sys/module/pcie_aspm/parameters/policy
- When in doubt, say Y.
- 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_POWER_SUPERSAVE
- bool "Power Supersave"
- depends on PCIEASPM
- help
- Same as PCIEASPM_POWERSAVE, except it also enables L1 substates where
- possible. This would result in higher power savings while staying in L1
- where the components support it.
- 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
- config PCIE_DPC
- bool "PCI Express Downstream Port Containment support"
- depends on PCIEPORTBUS && PCIEAER
- help
- This enables PCI Express Downstream Port Containment (DPC)
- driver support. DPC events from Root and Downstream ports
- will be handled by the DPC driver. If your system doesn't
- have this capability or you do not want to use this feature,
- it is safe to answer N.
- config PCIE_PTM
- bool "PCI Express Precision Time Measurement support"
- help
- This enables PCI Express Precision Time Measurement (PTM)
- support.
- This is only useful if you have devices that support PTM, but it
- is safe to enable even if you don't.
- config PCIE_EDR
- bool "PCI Express Error Disconnect Recover support"
- depends on PCIE_DPC && ACPI
- help
- This option adds Error Disconnect Recover support as specified
- in the Downstream Port Containment Related Enhancements ECN to
- the PCI Firmware Specification r3.2. Enable this if you want to
- support hybrid DPC model which uses both firmware and OS to
- implement DPC.
|