blob: 7fcea75afa4cf9a3b702c2773ead13c75a65de80 [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
74config PCIEASPM_PERFORMANCE
Andreas Zieglercc731762016-03-15 12:28:32 +010075 bool "Performance"
Matthew Garrettad71c962012-02-03 10:18:13 -050076 depends on PCIEASPM
77 help
78 Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them.
79endchoice
80
Rafael J. Wysockic7f48652010-02-17 23:39:08 +010081config PCIE_PME
82 def_bool y
Rafael J. Wysockifbb988b2014-11-27 23:16:57 +010083 depends on PCIEPORTBUS && PM
Keith Busch26e51572016-04-28 16:24:48 -060084
85config PCIE_DPC
Keith Buscha4959d82016-07-06 10:06:01 -060086 bool "PCIe Downstream Port Containment support"
Keith Busch26e51572016-04-28 16:24:48 -060087 depends on PCIEPORTBUS
88 default n
89 help
90 This enables PCI Express Downstream Port Containment (DPC)
91 driver support. DPC events from Root and Downstream ports
92 will be handled by the DPC driver. If your system doesn't
93 have this capability or you do not want to use this feature,
94 it is safe to answer N.