xref: /linux/drivers/pci/pcie/Kconfig (revision 9bb04a0c4e261187be904d05c2bcd1da0eebc20c)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# PCI Express Port Bus Configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvaldsconfig PCIEPORTBUS
5d47af0bcSEzequiel Garcia	bool "PCI Express Port Bus support"
61da177e4SLinus Torvalds	depends on PCI
71da177e4SLinus Torvalds	help
81da177e4SLinus Torvalds	  This automatically enables PCI Express Port Bus support. Users can
91da177e4SLinus Torvalds	  choose Native Hot-Plug support, Advanced Error Reporting support,
101da177e4SLinus Torvalds	  Power Management Event support and Virtual Channel support to run
111da177e4SLinus Torvalds	  on PCI Express Ports (Root or Switch).
121da177e4SLinus Torvalds
131da177e4SLinus Torvalds#
141da177e4SLinus Torvalds# Include service Kconfig here
151da177e4SLinus Torvalds#
161da177e4SLinus Torvaldsconfig HOTPLUG_PCI_PCIE
17c10cc483SBjorn Helgaas	bool "PCI Express Hotplug driver"
181da177e4SLinus Torvalds	depends on HOTPLUG_PCI && PCIEPORTBUS
191da177e4SLinus Torvalds	help
201da177e4SLinus Torvalds	  Say Y here if you have a motherboard that supports PCI Express Native
211da177e4SLinus Torvalds	  Hotplug
221da177e4SLinus Torvalds
231da177e4SLinus Torvalds	  When in doubt, say N.
241da177e4SLinus Torvalds
256c2b374dSZhang, Yanminsource "drivers/pci/pcie/aer/Kconfig"
267d715a6cSShaohua Li
277d715a6cSShaohua Li#
287d715a6cSShaohua Li# PCI Express ASPM
297d715a6cSShaohua Li#
307d715a6cSShaohua Liconfig PCIEASPM
316a108a14SDavid Rientjes	bool "PCI Express ASPM control" if EXPERT
32ea5f9fc5SMatthew Garrett	depends on PCI && PCIEPORTBUS
33ea5f9fc5SMatthew Garrett	default y
347d715a6cSShaohua Li	help
35ea5f9fc5SMatthew Garrett	  This enables OS control over PCI Express ASPM (Active State
36ea5f9fc5SMatthew Garrett	  Power Management) and Clock Power Management. ASPM supports
37ea5f9fc5SMatthew Garrett	  state L0/L0s/L1.
387d715a6cSShaohua Li
39d56641c7SP. Christeas	  ASPM is initially set up by the firmware. With this option enabled,
40ea5f9fc5SMatthew Garrett	  Linux can modify this state in order to disable ASPM on known-bad
41ea5f9fc5SMatthew Garrett	  hardware or configurations and enable it when known-safe.
42ea5f9fc5SMatthew Garrett
43ea5f9fc5SMatthew Garrett	  ASPM can be disabled or enabled at runtime via
44ea5f9fc5SMatthew Garrett	  /sys/module/pcie_aspm/parameters/policy
45ea5f9fc5SMatthew Garrett
46ea5f9fc5SMatthew Garrett	  When in doubt, say Y.
47cc73176cSAndreas Ziegler
487d715a6cSShaohua Liconfig PCIEASPM_DEBUG
497d715a6cSShaohua Li	bool "Debug PCI Express ASPM"
507d715a6cSShaohua Li	depends on PCIEASPM
517d715a6cSShaohua Li	default n
527d715a6cSShaohua Li	help
537d715a6cSShaohua Li	  This enables PCI Express ASPM debug support. It will add per-device
547d715a6cSShaohua Li	  interface to control ASPM.
55c7f48656SRafael J. Wysocki
56ad71c962SMatthew Garrettchoice
57ad71c962SMatthew Garrett	prompt "Default ASPM policy"
58ad71c962SMatthew Garrett	default PCIEASPM_DEFAULT
59ad71c962SMatthew Garrett	depends on PCIEASPM
60ad71c962SMatthew Garrett
61ad71c962SMatthew Garrettconfig PCIEASPM_DEFAULT
62ad71c962SMatthew Garrett	bool "BIOS default"
63ad71c962SMatthew Garrett	depends on PCIEASPM
64ad71c962SMatthew Garrett	help
65ad71c962SMatthew Garrett	  Use the BIOS defaults for PCI Express ASPM.
66ad71c962SMatthew Garrett
67ad71c962SMatthew Garrettconfig PCIEASPM_POWERSAVE
68ad71c962SMatthew Garrett	bool "Powersave"
69ad71c962SMatthew Garrett	depends on PCIEASPM
70ad71c962SMatthew Garrett	help
71ad71c962SMatthew Garrett	  Enable PCI Express ASPM L0s and L1 where possible, even if the
72ad71c962SMatthew Garrett	  BIOS did not.
73ad71c962SMatthew Garrett
74ad71c962SMatthew Garrettconfig PCIEASPM_PERFORMANCE
75ad71c962SMatthew Garrett	bool "Performance"
76ad71c962SMatthew Garrett	depends on PCIEASPM
77ad71c962SMatthew Garrett	help
78ad71c962SMatthew Garrett	  Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them.
79ad71c962SMatthew Garrettendchoice
80ad71c962SMatthew Garrett
81c7f48656SRafael J. Wysockiconfig PCIE_PME
82c7f48656SRafael J. Wysocki	def_bool y
83fbb988beSRafael J. Wysocki	depends on PCIEPORTBUS && PM
8426e51571SKeith Busch
8526e51571SKeith Buschconfig PCIE_DPC
86a4959d8cSKeith Busch	bool "PCIe Downstream Port Containment support"
8726e51571SKeith Busch	depends on PCIEPORTBUS
8826e51571SKeith Busch	default n
8926e51571SKeith Busch	help
9026e51571SKeith Busch	  This enables PCI Express Downstream Port Containment (DPC)
9126e51571SKeith Busch	  driver support.  DPC events from Root and Downstream ports
9226e51571SKeith Busch	  will be handled by the DPC driver.  If your system doesn't
9326e51571SKeith Busch	  have this capability or you do not want to use this feature,
9426e51571SKeith Busch	  it is safe to answer N.
95*9bb04a0cSJonathan Yong
96*9bb04a0cSJonathan Yongconfig PCIE_PTM
97*9bb04a0cSJonathan Yong	bool "PCIe Precision Time Measurement support"
98*9bb04a0cSJonathan Yong	default n
99*9bb04a0cSJonathan Yong	depends on PCIEPORTBUS
100*9bb04a0cSJonathan Yong	help
101*9bb04a0cSJonathan Yong	  This enables PCI Express Precision Time Measurement (PTM)
102*9bb04a0cSJonathan Yong	  support.
103*9bb04a0cSJonathan Yong
104*9bb04a0cSJonathan Yong	  This is only useful if you have devices that support PTM, but it
105*9bb04a0cSJonathan Yong	  is safe to enable even if you don't.
106