blob: ac53edbc9613cc3a89ecdaf1c88241d0fe824279 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# PCI Express Port Bus Configuration
3#
4config PCIEPORTBUS
Ezequiel Garciad47af0b2013-07-04 17:45:20 -03005 bool "PCI Express Port Bus support"
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 depends on PCI
7 help
8 This automatically enables PCI Express Port Bus support. Users can
9 choose Native Hot-Plug support, Advanced Error Reporting support,
10 Power Management Event support and Virtual Channel support to run
11 on PCI Express Ports (Root or Switch).
12
13#
14# Include service Kconfig here
15#
16config HOTPLUG_PCI_PCIE
Bjorn Helgaasc10cc482013-07-23 10:55:56 -060017 bool "PCI Express Hotplug driver"
Linus Torvalds1da177e2005-04-16 15:20:36 -070018 depends on HOTPLUG_PCI && PCIEPORTBUS
19 help
20 Say Y here if you have a motherboard that supports PCI Express Native
21 Hotplug
22
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 When in doubt, say N.
24
Zhang, Yanmin6c2b3742006-07-31 15:21:33 +080025source "drivers/pci/pcie/aer/Kconfig"
Shaohua Li7d715a62008-02-25 09:46:41 +080026
27#
28# PCI Express ASPM
29#
30config PCIEASPM
David Rientjes6a108a12011-01-20 14:44:16 -080031 bool "PCI Express ASPM control" if EXPERT
Matthew Garrettea5f9fc2010-06-22 17:03:03 -040032 depends on PCI && PCIEPORTBUS
33 default y
Shaohua Li7d715a62008-02-25 09:46:41 +080034 help
Matthew Garrettea5f9fc2010-06-22 17:03:03 -040035 This enables OS control over PCI Express ASPM (Active State
36 Power Management) and Clock Power Management. ASPM supports
37 state L0/L0s/L1.
Shaohua Li7d715a62008-02-25 09:46:41 +080038
P. Christeasd56641c2011-12-06 20:48:35 +020039 ASPM is initially set up by the firmware. With this option enabled,
Matthew Garrettea5f9fc2010-06-22 17:03:03 -040040 Linux can modify this state in order to disable ASPM on known-bad
41 hardware or configurations and enable it when known-safe.
42
43 ASPM can be disabled or enabled at runtime via
44 /sys/module/pcie_aspm/parameters/policy
45
46 When in doubt, say Y.
Andreas Zieglercc731762016-03-15 12:28:32 +010047
Shaohua Li7d715a62008-02-25 09:46:41 +080048config PCIEASPM_DEBUG
49 bool "Debug PCI Express ASPM"
50 depends on PCIEASPM
51 default n
52 help
53 This enables PCI Express ASPM debug support. It will add per-device
54 interface to control ASPM.
Rafael J. Wysockic7f48652010-02-17 23:39:08 +010055
Matthew Garrettad71c962012-02-03 10:18:13 -050056choice
57 prompt "Default ASPM policy"
58 default PCIEASPM_DEFAULT
59 depends on PCIEASPM
60
61config PCIEASPM_DEFAULT
Andreas Zieglercc731762016-03-15 12:28:32 +010062 bool "BIOS default"
Matthew Garrettad71c962012-02-03 10:18:13 -050063 depends on PCIEASPM
64 help
65 Use the BIOS defaults for PCI Express ASPM.
66
67config PCIEASPM_POWERSAVE
Andreas Zieglercc731762016-03-15 12:28:32 +010068 bool "Powersave"
Matthew Garrettad71c962012-02-03 10:18:13 -050069 depends on PCIEASPM
70 help
71 Enable PCI Express ASPM L0s and L1 where possible, even if the
72 BIOS did not.
73
Rajat Jainb2103cc2017-01-02 22:34:11 -080074config PCIEASPM_POWER_SUPERSAVE
75 bool "Power Supersave"
76 depends on PCIEASPM
77 help
78 Same as PCIEASPM_POWERSAVE, except it also enables L1 substates where
79 possible. This would result in higher power savings while staying in L1
80 where the components support it.
81
Matthew Garrettad71c962012-02-03 10:18:13 -050082config PCIEASPM_PERFORMANCE
Andreas Zieglercc731762016-03-15 12:28:32 +010083 bool "Performance"
Matthew Garrettad71c962012-02-03 10:18:13 -050084 depends on PCIEASPM
85 help
86 Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them.
87endchoice
88
Rafael J. Wysockic7f48652010-02-17 23:39:08 +010089config PCIE_PME
90 def_bool y
Rafael J. Wysockifbb988b2014-11-27 23:16:57 +010091 depends on PCIEPORTBUS && PM
Keith Busch26e51572016-04-28 16:24:48 -060092
93config PCIE_DPC
Keith Buscha4959d82016-07-06 10:06:01 -060094 bool "PCIe Downstream Port Containment support"
Keith Busch26e51572016-04-28 16:24:48 -060095 depends on PCIEPORTBUS
96 default n
97 help
98 This enables PCI Express Downstream Port Containment (DPC)
99 driver support. DPC events from Root and Downstream ports
100 will be handled by the DPC driver. If your system doesn't
101 have this capability or you do not want to use this feature,
102 it is safe to answer N.
Jonathan Yong9bb04a02016-06-11 14:13:38 -0500103
104config PCIE_PTM
105 bool "PCIe Precision Time Measurement support"
106 default n
107 depends on PCIEPORTBUS
108 help
109 This enables PCI Express Precision Time Measurement (PTM)
110 support.
111
112 This is only useful if you have devices that support PTM, but it
113 is safe to enable even if you don't.