drivers/pci/pcie/Kconfig

Source file repositories/reference/linux-study-clean/drivers/pci/pcie/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/pci/pcie/Kconfig
Extension
[no extension]
Size
4190 bytes
Lines
149
Domain
Representative Device Path
Bucket
PCIe NVMe Storage Path
Inferred role
Representative Device Path: build/configuration rule
Status
atlas-only

Why This File Exists

Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0
#
# PCI Express Port Bus Configuration
#
config PCIEPORTBUS
	bool "PCI Express Port Bus support"
	default y if USB4
	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
	default y if USB4
	help
	  Say Y here if you have a motherboard that supports PCIe native
	  hotplug.

	  Thunderbolt/USB4 PCIe tunneling depends on native PCIe 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://github.com/intel/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

Annotation

Implementation Notes