150 lines
4 KiB
Plaintext
150 lines
4 KiB
Plaintext
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
#
|
||
|
# PCI Express Port Bus Configuration
|
||
|
#
|
||
|
config PCIEPORTBUS
|
||
|
bool "PCI Express Port Bus support"
|
||
|
depends on PCI
|
||
|
help
|
||
|
This automatically enables PCI Express Port Bus support. Users can
|
||
|
choose Native Hot-Plug support, Advanced Error Reporting support,
|
||
|
Power Management Event support and Virtual Channel support to run
|
||
|
on PCI Express Ports (Root or Switch).
|
||
|
|
||
|
#
|
||
|
# 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
|
||
|
default y
|
||
|
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
|
||
|
default n
|
||
|
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:
|
||
|
http://www.kernel.org/pub/linux/utils/pci/aer-inject/
|
||
|
|
||
|
#
|
||
|
# 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
|
||
|
depends on PCI && PCIEPORTBUS
|
||
|
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.
|
||
|
|
||
|
config PCIEASPM_DEBUG
|
||
|
bool "Debug PCI Express ASPM"
|
||
|
depends on PCIEASPM
|
||
|
default n
|
||
|
help
|
||
|
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_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
|
||
|
default n
|
||
|
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"
|
||
|
default n
|
||
|
depends on PCIEPORTBUS
|
||
|
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.
|