1# SPDX-License-Identifier: GPL-2.0 2# 3# PCI Express Port Bus Configuration 4# 5config PCIEPORTBUS 6 bool "PCI Express Port Bus support" 7 depends on PCI 8 help 9 This automatically enables PCI Express Port Bus support. Users can 10 choose Native Hot-Plug support, Advanced Error Reporting support, 11 Power Management Event support and Virtual Channel support to run 12 on PCI Express Ports (Root or Switch). 13 14# 15# Include service Kconfig here 16# 17config HOTPLUG_PCI_PCIE 18 bool "PCI Express Hotplug driver" 19 depends on HOTPLUG_PCI && PCIEPORTBUS 20 help 21 Say Y here if you have a motherboard that supports PCI Express Native 22 Hotplug 23 24 When in doubt, say N. 25 26source "drivers/pci/pcie/aer/Kconfig" 27 28# 29# PCI Express ASPM 30# 31config PCIEASPM 32 bool "PCI Express ASPM control" if EXPERT 33 depends on PCI && PCIEPORTBUS 34 default y 35 help 36 This enables OS control over PCI Express ASPM (Active State 37 Power Management) and Clock Power Management. ASPM supports 38 state L0/L0s/L1. 39 40 ASPM is initially set up by the firmware. With this option enabled, 41 Linux can modify this state in order to disable ASPM on known-bad 42 hardware or configurations and enable it when known-safe. 43 44 ASPM can be disabled or enabled at runtime via 45 /sys/module/pcie_aspm/parameters/policy 46 47 When in doubt, say Y. 48 49config PCIEASPM_DEBUG 50 bool "Debug PCI Express ASPM" 51 depends on PCIEASPM 52 default n 53 help 54 This enables PCI Express ASPM debug support. It will add per-device 55 interface to control ASPM. 56 57choice 58 prompt "Default ASPM policy" 59 default PCIEASPM_DEFAULT 60 depends on PCIEASPM 61 62config PCIEASPM_DEFAULT 63 bool "BIOS default" 64 depends on PCIEASPM 65 help 66 Use the BIOS defaults for PCI Express ASPM. 67 68config PCIEASPM_POWERSAVE 69 bool "Powersave" 70 depends on PCIEASPM 71 help 72 Enable PCI Express ASPM L0s and L1 where possible, even if the 73 BIOS did not. 74 75config PCIEASPM_POWER_SUPERSAVE 76 bool "Power Supersave" 77 depends on PCIEASPM 78 help 79 Same as PCIEASPM_POWERSAVE, except it also enables L1 substates where 80 possible. This would result in higher power savings while staying in L1 81 where the components support it. 82 83config PCIEASPM_PERFORMANCE 84 bool "Performance" 85 depends on PCIEASPM 86 help 87 Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them. 88endchoice 89 90config PCIE_PME 91 def_bool y 92 depends on PCIEPORTBUS && PM 93 94config PCIE_DPC 95 bool "PCIe Downstream Port Containment support" 96 depends on PCIEPORTBUS && PCIEAER 97 default n 98 help 99 This enables PCI Express Downstream Port Containment (DPC) 100 driver support. DPC events from Root and Downstream ports 101 will be handled by the DPC driver. If your system doesn't 102 have this capability or you do not want to use this feature, 103 it is safe to answer N. 104 105config PCIE_PTM 106 bool "PCIe Precision Time Measurement support" 107 default n 108 depends on PCIEPORTBUS 109 help 110 This enables PCI Express Precision Time Measurement (PTM) 111 support. 112 113 This is only useful if you have devices that support PTM, but it 114 is safe to enable even if you don't. 115