Merge branch 'work.poll2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / drivers / pci / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # PCI configuration
4 #
5
6 source "drivers/pci/pcie/Kconfig"
7
8 config PCI_BUS_ADDR_T_64BIT
9         def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT)
10         depends on PCI
11
12 config PCI_MSI
13         bool "Message Signaled Interrupts (MSI and MSI-X)"
14         depends on PCI
15         select GENERIC_MSI_IRQ
16         help
17            This allows device drivers to enable MSI (Message Signaled
18            Interrupts).  Message Signaled Interrupts enable a device to
19            generate an interrupt using an inbound Memory Write on its
20            PCI bus instead of asserting a device IRQ pin.
21
22            Use of PCI MSI interrupts can be disabled at kernel boot time
23            by using the 'pci=nomsi' option.  This disables MSI for the
24            entire system.
25
26            If you don't know what to do here, say Y.
27
28 config PCI_MSI_IRQ_DOMAIN
29         def_bool ARC || ARM || ARM64 || X86
30         depends on PCI_MSI
31         select GENERIC_MSI_IRQ_DOMAIN
32
33 config PCI_QUIRKS
34         default y
35         bool "Enable PCI quirk workarounds" if EXPERT
36         depends on PCI
37         help
38           This enables workarounds for various PCI chipset bugs/quirks.
39           Disable this only if your target machine is unaffected by PCI
40           quirks.
41
42 config PCI_DEBUG
43         bool "PCI Debugging"
44         depends on PCI && DEBUG_KERNEL
45         help
46           Say Y here if you want the PCI core to produce a bunch of debug
47           messages to the system log.  Select this if you are having a
48           problem with PCI support and want to see more of what is going on.
49
50           When in doubt, say N.
51
52 config PCI_REALLOC_ENABLE_AUTO
53         bool "Enable PCI resource re-allocation detection"
54         depends on PCI
55         depends on PCI_IOV
56         help
57           Say Y here if you want the PCI core to detect if PCI resource
58           re-allocation needs to be enabled. You can always use pci=realloc=on
59           or pci=realloc=off to override it.  It will automatically
60           re-allocate PCI resources if SR-IOV BARs have not been allocated by
61           the BIOS.
62
63           When in doubt, say N.
64
65 config PCI_STUB
66         tristate "PCI Stub driver"
67         depends on PCI
68         help
69           Say Y or M here if you want be able to reserve a PCI device
70           when it is going to be assigned to a guest operating system.
71
72           When in doubt, say N.
73
74 config XEN_PCIDEV_FRONTEND
75         tristate "Xen PCI Frontend"
76         depends on PCI && X86 && XEN
77         select PCI_XEN
78         select XEN_XENBUS_FRONTEND
79         default y
80         help
81           The PCI device frontend driver allows the kernel to import arbitrary
82           PCI devices from a PCI backend to support PCI driver domains.
83
84 config PCI_ATS
85         bool
86
87 config PCI_ECAM
88         bool
89
90 config PCI_LOCKLESS_CONFIG
91         bool
92
93 config PCI_IOV
94         bool "PCI IOV support"
95         depends on PCI
96         select PCI_ATS
97         help
98           I/O Virtualization is a PCI feature supported by some devices
99           which allows them to create virtual devices which share their
100           physical resources.
101
102           If unsure, say N.
103
104 config PCI_PRI
105         bool "PCI PRI support"
106         depends on PCI
107         select PCI_ATS
108         help
109           PRI is the PCI Page Request Interface. It allows PCI devices that are
110           behind an IOMMU to recover from page faults.
111
112           If unsure, say N.
113
114 config PCI_PASID
115         bool "PCI PASID support"
116         depends on PCI
117         select PCI_ATS
118         help
119           Process Address Space Identifiers (PASIDs) can be used by PCI devices
120           to access more than one IO address space at the same time. To make
121           use of this feature an IOMMU is required which also supports PASIDs.
122           Select this option if you have such an IOMMU and want to compile the
123           driver for it into your kernel.
124
125           If unsure, say N.
126
127 config PCI_LABEL
128         def_bool y if (DMI || ACPI)
129         depends on PCI
130         select NLS
131
132 config PCI_HYPERV
133         tristate "Hyper-V PCI Frontend"
134         depends on PCI && X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
135         help
136           The PCI device frontend driver allows the kernel to import arbitrary
137           PCI devices from a PCI backend to support PCI driver domains.
138
139 source "drivers/pci/hotplug/Kconfig"
140 source "drivers/pci/cadence/Kconfig"
141 source "drivers/pci/dwc/Kconfig"
142 source "drivers/pci/host/Kconfig"
143 source "drivers/pci/endpoint/Kconfig"
144 source "drivers/pci/switch/Kconfig"