mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
![Linus Torvalds](/assets/img/avatar_default.png)
-----BEGIN PGP SIGNATURE----- iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAlwtMCIUHGJoZWxnYWFz QGdvb2dsZS5jb20ACgkQWYigwDrT+vwQUQ/+P5/VDpo4abjudGO2c7FU1bJOwvfN cfV5dvDCw0kpx0Em5SmnpAD7Punllxxvb/04K75lqarGyx/Txqaw+lbIF+qSj6my GsQ16Iy8T48x5hr+Pf6vTh1eE+NaAVZfOPDOt7CyTNAgwfzHeVNyfNvz7pfKTIIJ Mk/jRE4kkeWo60jsY5p3sFo3OVOxBOsRdN+2sruaQuWFXrKHLyNDR+7Z9ZPxubFk cCO/TYPhNXmmKhCAR4V/rGiqz9OL2wyFixGhGhmD3tnC9nAb/wTMzjARsyBopBPi b/KkR2eLFEyXN0HJrwqxiURo4J3nveAYEuNXH5KjRBQZnoBCGSCIlqFhlrp9vdBk B4KIdT8h/M6LsVGeVSEIxIEXCp67YE31kxraFrk4Vsggdh2TFQ0llh1sajj8IFJB XekutedAOlTSOaM1/jvVPUJYg04X90bp3uXn3IU45XlQ8nBOG3immFVITRLkvd3w ywH+SEdeZAhWl3RGy8SHhqdeCJ7nNQbcRaRJ5CoWJBDNJTBGF1X+zJD2Swi6H9vA nWGNRlb3CPPIMPF127nADnOE7Cj2FlpAEIEu52HpcpIrhEdrGvLkGeQfgdWBjbyU aHwC04bLWnvsA9SEFVnuMIBaFQmJ1RuaWAHdtscyyO2uoeCtN8Aa+BX6jXFbVZQN 9eFzpiv0kUiXlAQ= =g1ia -----END PGP SIGNATURE----- Merge tag 'pci-v4.21-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: - Remove unused lists from ASPM pcie_link_state (Frederick Lawler) - Fix Broadcom CNB20LE host bridge unintended sign extension (Colin Ian King) - Expand Kconfig "PF" acronyms (Randy Dunlap) - Update MAINTAINERS for arch/x86/kernel/early-quirks.c (Bjorn Helgaas) - Add missing include to drivers/pci.h (Alexandru Gagniuc) - Override Synopsys USB 3.x HAPS device class so dwc3-haps can claim it instead of xhci (Thinh Nguyen) - Clean up P2PDMA documentation (Randy Dunlap) - Allow runtime PM even if driver doesn't supply callbacks (Jarkko Nikula) - Remove status check after submitting Switchtec MRPC Firmware Download commands to avoid Completion Timeouts (Kelvin Cao) - Set Switchtec coherent DMA mask to allow 64-bit DMA (Boris Glimcher) - Fix Switchtec SWITCHTEC_IOCTL_EVENT_IDX_ALL flag overwrite issue (Joey Zhang) - Enable write combining for Switchtec MRPC Input buffers (Kelvin Cao) - Add Switchtec MRPC DMA mode support (Wesley Sheng) - Skip VF scanning on powerpc, which does this in firmware (Sebastian Ott) - Add Amlogic Meson PCIe controller driver and DT bindings (Yue Wang) - Constify histb dw_pcie_host_ops structure (Julia Lawall) - Support multiple power domains for imx6 (Leonard Crestez) - Constify layerscape driver data (Stefan Agner) - Update imx6 Kconfig to allow imx6 PCIe in imx7 kernel (Trent Piepho) - Support armada8k GPIO reset (Baruch Siach) - Support suspend/resume support on imx6 (Leonard Crestez) - Don't hard-code DesignWare DBI/ATU offst (Stephen Warren) - Skip i.MX6 PHY setup on i.MX7D (Andrey Smirnov) - Remove Jianguo Sun from HiSilicon STB maintainers (Lorenzo Pieralisi) - Mask DesignWare interrupts instead of disabling them to avoid lost interrupts (Marc Zyngier) - Add locking when acking DesignWare interrupts (Marc Zyngier) - Ack DesignWare interrupts in the proper callbacks (Marc Zyngier) - Use devm resource parser in mediatek (Honghui Zhang) - Remove unused mediatek "num-lanes" DT property (Honghui Zhang) - Add UniPhier PCIe controller driver and DT bindings (Kunihiko Hayashi) - Enable MSI for imx6 downstream components (Richard Zhu) * tag 'pci-v4.21-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (40 commits) PCI: imx: Enable MSI from downstream components s390/pci: skip VF scanning PCI/IOV: Add flag so platforms can skip VF scanning PCI/IOV: Factor out sriov_add_vfs() PCI: uniphier: Add UniPhier PCIe host controller support dt-bindings: PCI: Add UniPhier PCIe host controller description PCI: amlogic: Add the Amlogic Meson PCIe controller driver dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller arm64: dts: mt7622: Remove un-used property for PCIe arm: dts: mt7623: Remove un-used property for PCIe dt-bindings: PCI: MediaTek: Remove un-used property PCI: mediatek: Remove un-used variant in struct mtk_pcie_port MAINTAINERS: Remove Jianguo Sun from HiSilicon STB DWC entry PCI: dwc: Don't hard-code DBI/ATU offset PCI: imx: Add imx6sx suspend/resume support PCI: armada8k: Add support for gpio controlled reset signal PCI: dwc: Adjust Kconfig to allow IMX6 PCIe host on IMX7 PCI: dwc: layerscape: Constify driver data PCI: imx: Add multi-pd support PCI: Override Synopsys USB 3.x HAPS device class ...
200 lines
5.2 KiB
Text
200 lines
5.2 KiB
Text
# SPDX-License-Identifier: GPL-2.0
|
||
#
|
||
# PCI configuration
|
||
#
|
||
|
||
# select this to offer the PCI prompt
|
||
config HAVE_PCI
|
||
bool
|
||
|
||
# select this to unconditionally force on PCI support
|
||
config FORCE_PCI
|
||
bool
|
||
select HAVE_PCI
|
||
select PCI
|
||
|
||
menuconfig PCI
|
||
bool "PCI support"
|
||
depends on HAVE_PCI
|
||
help
|
||
This option enables support for the PCI local bus, including
|
||
support for PCI-X and the foundations for PCI Express support.
|
||
Say 'Y' here unless you know what you are doing.
|
||
|
||
config PCI_DOMAINS
|
||
bool
|
||
depends on PCI
|
||
|
||
config PCI_DOMAINS_GENERIC
|
||
bool
|
||
depends on PCI
|
||
select PCI_DOMAINS
|
||
|
||
config PCI_SYSCALL
|
||
bool
|
||
|
||
source "drivers/pci/pcie/Kconfig"
|
||
|
||
config PCI_MSI
|
||
bool "Message Signaled Interrupts (MSI and MSI-X)"
|
||
depends on PCI
|
||
select GENERIC_MSI_IRQ
|
||
help
|
||
This allows device drivers to enable MSI (Message Signaled
|
||
Interrupts). Message Signaled Interrupts enable a device to
|
||
generate an interrupt using an inbound Memory Write on its
|
||
PCI bus instead of asserting a device IRQ pin.
|
||
|
||
Use of PCI MSI interrupts can be disabled at kernel boot time
|
||
by using the 'pci=nomsi' option. This disables MSI for the
|
||
entire system.
|
||
|
||
If you don't know what to do here, say Y.
|
||
|
||
config PCI_MSI_IRQ_DOMAIN
|
||
def_bool ARC || ARM || ARM64 || X86
|
||
depends on PCI_MSI
|
||
select GENERIC_MSI_IRQ_DOMAIN
|
||
|
||
config PCI_QUIRKS
|
||
default y
|
||
bool "Enable PCI quirk workarounds" if EXPERT
|
||
depends on PCI
|
||
help
|
||
This enables workarounds for various PCI chipset bugs/quirks.
|
||
Disable this only if your target machine is unaffected by PCI
|
||
quirks.
|
||
|
||
config PCI_DEBUG
|
||
bool "PCI Debugging"
|
||
depends on PCI && DEBUG_KERNEL
|
||
help
|
||
Say Y here if you want the PCI core to produce a bunch of debug
|
||
messages to the system log. Select this if you are having a
|
||
problem with PCI support and want to see more of what is going on.
|
||
|
||
When in doubt, say N.
|
||
|
||
config PCI_REALLOC_ENABLE_AUTO
|
||
bool "Enable PCI resource re-allocation detection"
|
||
depends on PCI
|
||
depends on PCI_IOV
|
||
help
|
||
Say Y here if you want the PCI core to detect if PCI resource
|
||
re-allocation needs to be enabled. You can always use pci=realloc=on
|
||
or pci=realloc=off to override it. It will automatically
|
||
re-allocate PCI resources if SR-IOV BARs have not been allocated by
|
||
the BIOS.
|
||
|
||
When in doubt, say N.
|
||
|
||
config PCI_STUB
|
||
tristate "PCI Stub driver"
|
||
depends on PCI
|
||
help
|
||
Say Y or M here if you want be able to reserve a PCI device
|
||
when it is going to be assigned to a guest operating system.
|
||
|
||
When in doubt, say N.
|
||
|
||
config PCI_PF_STUB
|
||
tristate "PCI PF Stub driver"
|
||
depends on PCI
|
||
depends on PCI_IOV
|
||
help
|
||
Say Y or M here if you want to enable support for devices that
|
||
require SR-IOV support, while at the same time the PF (Physical
|
||
Function) itself is not providing any actual services on the
|
||
host itself such as storage or networking.
|
||
|
||
When in doubt, say N.
|
||
|
||
config XEN_PCIDEV_FRONTEND
|
||
tristate "Xen PCI Frontend"
|
||
depends on PCI && X86 && XEN
|
||
select PCI_XEN
|
||
select XEN_XENBUS_FRONTEND
|
||
default y
|
||
help
|
||
The PCI device frontend driver allows the kernel to import arbitrary
|
||
PCI devices from a PCI backend to support PCI driver domains.
|
||
|
||
config PCI_ATS
|
||
bool
|
||
|
||
config PCI_ECAM
|
||
bool
|
||
|
||
config PCI_LOCKLESS_CONFIG
|
||
bool
|
||
|
||
config PCI_BRIDGE_EMUL
|
||
bool
|
||
|
||
config PCI_IOV
|
||
bool "PCI IOV support"
|
||
depends on PCI
|
||
select PCI_ATS
|
||
help
|
||
I/O Virtualization is a PCI feature supported by some devices
|
||
which allows them to create virtual devices which share their
|
||
physical resources.
|
||
|
||
If unsure, say N.
|
||
|
||
config PCI_PRI
|
||
bool "PCI PRI support"
|
||
depends on PCI
|
||
select PCI_ATS
|
||
help
|
||
PRI is the PCI Page Request Interface. It allows PCI devices that are
|
||
behind an IOMMU to recover from page faults.
|
||
|
||
If unsure, say N.
|
||
|
||
config PCI_PASID
|
||
bool "PCI PASID support"
|
||
depends on PCI
|
||
select PCI_ATS
|
||
help
|
||
Process Address Space Identifiers (PASIDs) can be used by PCI devices
|
||
to access more than one IO address space at the same time. To make
|
||
use of this feature an IOMMU is required which also supports PASIDs.
|
||
Select this option if you have such an IOMMU and want to compile the
|
||
driver for it into your kernel.
|
||
|
||
If unsure, say N.
|
||
|
||
config PCI_P2PDMA
|
||
bool "PCI peer-to-peer transfer support"
|
||
depends on PCI && ZONE_DEVICE
|
||
select GENERIC_ALLOCATOR
|
||
help
|
||
Enableѕ drivers to do PCI peer-to-peer transactions to and from
|
||
BARs that are exposed in other devices that are the part of
|
||
the hierarchy where peer-to-peer DMA is guaranteed by the PCI
|
||
specification to work (ie. anything below a single PCI bridge).
|
||
|
||
Many PCIe root complexes do not support P2P transactions and
|
||
it's hard to tell which support it at all, so at this time,
|
||
P2P DMA transations must be between devices behind the same root
|
||
port.
|
||
|
||
If unsure, say N.
|
||
|
||
config PCI_LABEL
|
||
def_bool y if (DMI || ACPI)
|
||
depends on PCI
|
||
select NLS
|
||
|
||
config PCI_HYPERV
|
||
tristate "Hyper-V PCI Frontend"
|
||
depends on PCI && X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
|
||
help
|
||
The PCI device frontend driver allows the kernel to import arbitrary
|
||
PCI devices from a PCI backend to support PCI driver domains.
|
||
|
||
source "drivers/pci/hotplug/Kconfig"
|
||
source "drivers/pci/controller/Kconfig"
|
||
source "drivers/pci/endpoint/Kconfig"
|
||
source "drivers/pci/switch/Kconfig"
|