mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-01 09:13:37 +00:00
-----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
...
195 lines
5.1 KiB
Text
195 lines
5.1 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.
|
||
|
||
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
|