![Linus Torvalds](/assets/img/avatar_default.png)
-----BEGIN PGP SIGNATURE----- iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAl2JNVAUHGJoZWxnYWFz QGdvb2dsZS5jb20ACgkQWYigwDrT+vyTOA/9EZeyS7J+ZcOwihWz5vNijf0kfpKp /jZ9VF9nHjsL9Pw3/Fzha605Ssrtwcqge8g/sze9f0g/pxZk99lLHokE6dEOurEA GyKpNNMdiBol4YZMCsSoYji0MpwW0uMCuASPMiEwv2LxZ72A2Tu1RbgYLU+n4m1T fQldDTxsUMXc/OH/8SL8QDEh6o8qyDRhmSXFAOv8RGqN8N3iUwVwhQobKpwpmEvx ddzqWMS8f91qkhIKO7fgc9P4NI/7yI7kkF+wcdwtfiMO8Qkr4IdcdF7qwNVAtpKA A+sMRi59i2XxDTqRFx+wXXMa+rt+Pf1pucv77SO74xXWwpuXSxLVDYjULP1YQugK FTBo4SNmico/ts+n5cgm+CGMq2P2E29VYeqkI1Un6eDDvQnQlBgQdpdcBoadJ0rW y31OInjhRJC1ZK5bATKfCMbmB+VQxFsbyeUA7PBlrALyAmXZfw30iNxX9iHBhWqc myPNVEJJGp0cWTxGxMAU9MhelzeQxDAd+Eb44J5gv51bx0w9yqmZHECSDrOVdtYi HpOyI7E3Cb8m23BOHvCdB/v8igaYMZl08LUUJqu1S9mFclYyYVuOOIB04Yc2Qrx1 3PHtT8TC47FbWuzKwo12RflzoAiNShJGw+tNKo6T1jC+r5jdbKWWtTnsoRqbSfaG rG5RJpB7EuQSP1Y= =/xB3 -----END PGP SIGNATURE----- Merge tag 'pci-v5.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: "Enumeration: - Consolidate _HPP/_HPX stuff in pci-acpi.c and simplify it (Krzysztof Wilczynski) - Fix incorrect PCIe device types and remove dev->has_secondary_link to simplify code that deals with upstream/downstream ports (Mika Westerberg) - After suspend, restore Resizable BAR size bits correctly for 1MB BARs (Sumit Saxena) - Enable PCI_MSI_IRQ_DOMAIN support for RISC-V (Wesley Terpstra) Virtualization: - Add ACS quirks for iProc PAXB (Abhinav Ratna), Amazon Annapurna Labs (Ali Saidi) - Move sysfs SR-IOV functions to iov.c (Kelsey Skunberg) - Remove group write permissions from sysfs sriov_numvfs, sriov_drivers_autoprobe (Kelsey Skunberg) Hotplug: - Simplify pciehp indicator control (Denis Efremov) Peer-to-peer DMA: - Allow P2P DMA between root ports for whitelisted bridges (Logan Gunthorpe) - Whitelist some Intel host bridges for P2P DMA (Logan Gunthorpe) - DMA map P2P DMA requests that traverse host bridge (Logan Gunthorpe) Amazon Annapurna Labs host bridge driver: - Add DT binding and controller driver (Jonathan Chocron) Hyper-V host bridge driver: - Fix hv_pci_dev->pci_slot use-after-free (Dexuan Cui) - Fix PCI domain number collisions (Haiyang Zhang) - Use instance ID bytes 4 & 5 as PCI domain numbers (Haiyang Zhang) - Fix build errors on non-SYSFS config (Randy Dunlap) i.MX6 host bridge driver: - Limit DBI register length (Stefan Agner) Intel VMD host bridge driver: - Fix config addressing issues (Jon Derrick) Layerscape host bridge driver: - Add bar_fixed_64bit property to endpoint driver (Xiaowei Bao) - Add CONFIG_PCI_LAYERSCAPE_EP to build EP/RC drivers separately (Xiaowei Bao) Mediatek host bridge driver: - Add MT7629 controller support (Jianjun Wang) Mobiveil host bridge driver: - Fix CPU base address setup (Hou Zhiqiang) - Make "num-lanes" property optional (Hou Zhiqiang) Tegra host bridge driver: - Fix OF node reference leak (Nishka Dasgupta) - Disable MSI for root ports to work around design problem (Vidya Sagar) - Add Tegra194 DT binding and controller support (Vidya Sagar) - Add support for sideband pins and slot regulators (Vidya Sagar) - Add PIPE2UPHY support (Vidya Sagar) Misc: - Remove unused pci_block_cfg_access() et al (Kelsey Skunberg) - Unexport pci_bus_get(), etc (Kelsey Skunberg) - Hide PM, VC, link speed, ATS, ECRC, PTM constants and interfaces in the PCI core (Kelsey Skunberg) - Clean up sysfs DEVICE_ATTR() usage (Kelsey Skunberg) - Mark expected switch fall-through (Gustavo A. R. Silva) - Propagate errors for optional regulators and PHYs (Thierry Reding) - Fix kernel command line resource_alignment parameter issues (Logan Gunthorpe)" * tag 'pci-v5.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (112 commits) PCI: Add pci_irq_vector() and other stubs when !CONFIG_PCI arm64: tegra: Add PCIe slot supply information in p2972-0000 platform arm64: tegra: Add configuration for PCIe C5 sideband signals PCI: tegra: Add support to enable slot regulators PCI: tegra: Add support to configure sideband pins PCI: vmd: Fix shadow offsets to reflect spec changes PCI: vmd: Fix config addressing when using bus offsets PCI: dwc: Add validation that PCIe core is set to correct mode PCI: dwc: al: Add Amazon Annapurna Labs PCIe controller driver dt-bindings: PCI: Add Amazon's Annapurna Labs PCIe host bridge binding PCI: Add quirk to disable MSI-X support for Amazon's Annapurna Labs Root Port PCI/VPD: Prevent VPD access for Amazon's Annapurna Labs Root Port PCI: Add ACS quirk for Amazon Annapurna Labs root ports PCI: Add Amazon's Annapurna Labs vendor ID MAINTAINERS: Add PCI native host/endpoint controllers designated reviewer PCI: hv: Use bytes 4 and 5 from instance ID as the PCI domain numbers dt-bindings: PCI: tegra: Add PCIe slot supplies regulator entries dt-bindings: PCI: tegra: Add sideband pins configuration entries PCI: tegra: Add Tegra194 PCIe support PCI: Get rid of dev->has_secondary_link flag ...
196 lines
5.1 KiB
Plaintext
196 lines
5.1 KiB
Plaintext
# 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.
|
||
|
||
if PCI
|
||
|
||
config PCI_DOMAINS
|
||
bool
|
||
depends on PCI
|
||
|
||
config PCI_DOMAINS_GENERIC
|
||
bool
|
||
select PCI_DOMAINS
|
||
|
||
config PCI_SYSCALL
|
||
bool
|
||
|
||
source "drivers/pci/pcie/Kconfig"
|
||
|
||
config PCI_MSI
|
||
bool "Message Signaled Interrupts (MSI and MSI-X)"
|
||
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 || RISCV
|
||
depends on PCI_MSI
|
||
select GENERIC_MSI_IRQ_DOMAIN
|
||
|
||
config PCI_QUIRKS
|
||
default y
|
||
bool "Enable PCI quirk workarounds" if EXPERT
|
||
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 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_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"
|
||
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_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 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"
|
||
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"
|
||
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"
|
||
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 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 transactions must be between devices behind the same root
|
||
port.
|
||
|
||
If unsure, say N.
|
||
|
||
config PCI_LABEL
|
||
def_bool y if (DMI || ACPI)
|
||
select NLS
|
||
|
||
config PCI_HYPERV
|
||
tristate "Hyper-V PCI Frontend"
|
||
depends on X86_64 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && SYSFS
|
||
select PCI_HYPERV_INTERFACE
|
||
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"
|
||
|
||
endif
|