-----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
 |