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+vwFAmfmt1AUHGJoZWxnYWFz
QGdvb2dsZS5jb20ACgkQWYigwDrT+vxqNw//cC1BlVe4UUVR5r9nfpoFeGAZeDJz
32naGvZKjwL0tR6dStO/BEZx4QrBp+smVfJfuxtQxfzLHLgMigM2jVhfa7XUmaun
7yZlJZu4Jmydc57sPf56CFOYOFP6zyPzSaE8u1Eb4IIqpvuoYpvDayDt6PSsLmFS
PDzqmicT3nuNbbcfE4rYLyL6JsXooKCR1h+NNcDjy7Run9DvQbE6N2PPvXCu6O97
aC3+kYUydEpgn9DfjBDghe+GBQCkBPldwnWqXBxKDFmYj5bKFujNccS9/IDSEuuX
oWntDRAXgLWg048sBC1AuJQajF3UaqffRGJkzUBaZWbU/jB9t5N/Z3GpYlXzizRx
CAqnt/ciGUKVbaESKwoeeIqgK+wG1bnrmoEaJHXFGqjr6sjm2A2T5EzyBMJ1hFwE
wUq6SDnkp5igG7rWtsBPo/lGa5h/pNlaXng11570ikD2ZfHVfRgwy2MpXYxChrkt
X2q/lRYU7yyfNJQ8O5LQJ6bYztatjxT0TxXNFv+cxfVrdI7vnQMuaeBE352jn+Lo
aZ8fTJDFbRXtrZolcoetZjBdHwPIS42wYQtvxo/ylUl64xKEzZEzN09XODjwn74v
nuOzDtbM0TAjZWxi6bwRFPnemTEAQxPuv1i4VdPQ7yblvC0at2agNBsz6Fdq60GS
s80YMJVUU0UcVoc=
=gM1i
-----END PGP SIGNATURE-----
Merge tag 'pci-v6.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
Pull pci updates from Bjorn Helgaas:
"Enumeration:
- Enable Configuration RRS SV, which makes device readiness visible,
early instead of during child bus scanning (Bjorn Helgaas)
- Log debug messages about reset methods being used (Bjorn Helgaas)
- Avoid reset when it has been disabled via sysfs (Nishanth
Aravamudan)
- Add common pci-ep-bus.yaml schema for exporting several peripherals
of a single PCI function via devicetree (Andrea della Porta)
- Create DT nodes for PCI host bridges to enable loading device tree
overlays to create platform devices for PCI devices that have
several features that require multiple drivers (Herve Codina)
Resource management:
- Enlarge devres table[] to accommodate bridge windows, ROM, IOV
BARs, etc., and validate BAR index in devres interfaces (Philipp
Stanner)
- Fix typo that repeatedly distributed resources to a bridge instead
of iterating over subordinate bridges, which resulted in too little
space to assign some BARs (Kai-Heng Feng)
- Relax bridge window tail sizing for optional resources, e.g., IOV
BARs, to avoid failures when removing and re-adding devices (Ilpo
Järvinen)
- Allow drivers to enable devices even if we haven't assigned
optional IOV resources to them (Ilpo Järvinen)
- Rework handling of optional resources (IOV BARs, ROMs) to reduce
failures if we can't allocate them (Ilpo Järvinen)
- Fix a NULL dereference in the SR-IOV VF creation error path (Shay
Drory)
- Fix s390 mmio_read/write syscalls, which didn't cause page faults
in some cases, which broke vfio-pci lazy mapping on first access
(Niklas Schnelle)
- Add pdev->non_mappable_bars to replace CONFIG_VFIO_PCI_MMAP, which
was disabled only for s390 (Niklas Schnelle)
- Support mmap of PCI resources on s390 except for ISM devices
(Niklas Schnelle)
ASPM:
- Delay pcie_link_state deallocation to avoid dangling pointers that
cause invalid references during hot-unplug (Daniel Stodden)
Power management:
- Allow PCI bridges to go to D3Hot when suspending on all non-x86
systems (Manivannan Sadhasivam)
Power control:
- Create pwrctrl devices in pci_scan_device() to make it more
symmetric with pci_pwrctrl_unregister() and make pwrctrl devices
for PCI bridges possible (Manivannan Sadhasivam)
- Unregister pwrctrl devices in pci_destroy_dev() so DOE, ASPM, etc.
can still access devices after pci_stop_dev() (Manivannan
Sadhasivam)
- If there's a pwrctrl device for a PCI device, skip scanning it
because the pwrctrl core will rescan the bus after the device is
powered on (Manivannan Sadhasivam)
- Add a pwrctrl driver for PCI slots based on voltage regulators
described via devicetree (Manivannan Sadhasivam)
Bandwidth control:
- Add set_pcie_speed.sh to TEST_PROGS to fix issue when executing the
set_pcie_cooling_state.sh test case (Yi Lai)
- Avoid a NULL pointer dereference when we run out of bus numbers to
assign for a bridge secondary bus (Lukas Wunner)
Hotplug:
- Drop superfluous pci_hotplug_slot_list, try_module_get() calls, and
NULL pointer checks (Lukas Wunner)
- Drop shpchp module init/exit logging, replace shpchp dbg() with
ctrl_dbg(), and remove unused dbg(), err(), info(), warn() wrappers
(Ilpo Järvinen)
- Drop 'shpchp_debug' module parameter in favor of standard dynamic
debugging (Ilpo Järvinen)
- Drop unused cpcihp .get_power(), .set_power() function pointers
(Guilherme Giacomo Simoes)
- Disable hotplug interrupts in portdrv only when pciehp is not
enabled to avoid issuing two hotplug commands too close together
(Feng Tang)
- Skip pciehp 'device replaced' check if the device has been removed
to address a deadlock when resuming after a device was removed
during system sleep (Lukas Wunner)
- Don't enable pciehp hotplug interupt when resuming in poll mode
(Ilpo Järvinen)
Virtualization:
- Fix bugs in 'pci=config_acs=' kernel command line parameter (Tushar
Dave)
DOE:
- Expose supported DOE features via sysfs (Alistair Francis)
- Allow DOE support to be enabled even if CXL isn't enabled (Alistair
Francis)
Endpoint framework:
- Convert PCI device data so pci-epf-test works correctly on
big-endian endpoint systems (Niklas Cassel)
- Add BAR_RESIZABLE type to endpoint framework and add DWC core
support for EPF drivers to set BAR_RESIZABLE type and size (Niklas
Cassel)
- Fix pci-epf-test double free that causes an oops if the host
reboots and PERST# deassertion restarts endpoint BAR allocation
(Christian Bruel)
- Fix endpoint BAR testing so tests can skip disabled BARs instead of
reporting them as failures (Niklas Cassel)
- Widen endpoint test BAR size variable to accommodate BARs larger
than INT_MAX (Niklas Cassel)
- Remove unused tools 'pci' build target left over after moving tests
to tools/testing/selftests/pci_endpoint (Jianfeng Liu)
Altera PCIe controller driver:
- Add DT binding and driver support for Agilex family (P-Tile,
F-Tile, R-Tile) (Matthew Gerlach and D M, Sharath Kumar)
AMD MDB PCIe controller driver:
- Add DT binding and driver for AMD MDB (Multimedia DMA Bridge)
(Thippeswamy Havalige)
Broadcom STB PCIe controller driver:
- Add BCM2712 MSI-X DT binding and interrupt controller drivers and
add softdep on irq_bcm2712_mip driver to ensure that it is loaded
first (Stanimir Varbanov)
- Expand inbound window map to 64GB so it can accommodate BCM2712
(Stanimir Varbanov)
- Add BCM2712 support and DT updates (Stanimir Varbanov)
- Apply link speed restriction before bringing link up, not after
(Jim Quinlan)
- Update Max Link Speed in Link Capabilities via the internal
writable register, not the read-only config register (Jim Quinlan)
- Handle regulator_bulk_get() error to avoid panic when we call
regulator_bulk_free() later (Jim Quinlan)
- Disable regulators only when removing the bus immediately below a
Root Port because we don't support regulators deeper in the
hierarchy (Jim Quinlan)
- Make const read-only arrays static (Colin Ian King)
Cadence PCIe endpoint driver:
- Correct MSG TLP generation so endpoints can generate INTx messages
(Hans Zhang)
Freescale i.MX6 PCIe controller driver:
- Identify the second controller on i.MX8MQ based on devicetree
'linux,pci-domain' instead of DBI 'reg' address (Richard Zhu)
- Remove imx_pcie_cpu_addr_fixup() since dwc core can now derive the
ATU input address (using parent_bus_offset) from devicetree (Frank
Li)
Freescale Layerscape PCIe controller driver:
- Drop deprecated 'num-ib-windows' and 'num-ob-windows' and
unnecessary 'status' from example (Krzysztof Kozlowski)
- Correct the syscon_regmap_lookup_by_phandle_args("fsl,pcie-scfg")
arg_count to fix probe failure on LS1043A (Ioana Ciornei)
HiSilicon STB PCIe controller driver:
- Call phy_exit() to clean up if histb_pcie_probe() fails (Christophe
JAILLET)
Intel Gateway PCIe controller driver:
- Remove intel_pcie_cpu_addr() since dwc core can now derive the ATU
input address (using parent_bus_offset) from devicetree (Frank Li)
Intel VMD host bridge driver:
- Convert vmd_dev.cfg_lock from spinlock_t to raw_spinlock_t so
pci_ops.read() will never sleep, even on PREEMPT_RT where
spinlock_t becomes a sleepable lock, to avoid calling a sleeping
function from invalid context (Ryo Takakura)
MediaTek PCIe Gen3 controller driver:
- Remove leftover mac_reset assert for Airoha EN7581 SoC (Lorenzo
Bianconi)
- Add EN7581 PBUS controller 'mediatek,pbus-csr' DT property and
program host bridge memory aperture to this syscon node (Lorenzo
Bianconi)
Qualcomm PCIe controller driver:
- Add qcom,pcie-ipq5332 binding (Varadarajan Narayanan)
- Add qcom i.MX8QM and i.MX8QXP/DXP optional DMA interrupt (Alexander
Stein)
- Add optional dma-coherent DT property for Qualcomm SA8775P (Dmitry
Baryshkov)
- Make DT iommu property required for SA8775P and prohibited for
SDX55 (Dmitry Baryshkov)
- Add DT IOMMU and DMA-related properties for Qualcomm SM8450 (Dmitry
Baryshkov)
- Add endpoint DT properties for SAR2130P and enable endpoint mode in
driver (Dmitry Baryshkov)
- Describe endpoint BAR0 and BAR2 as 64-bit only and BAR1 and BAR3 as
RESERVED (Manivannan Sadhasivam)
Rockchip DesignWare PCIe controller driver:
- Describe rk3568 and rk3588 BARs as Resizable, not Fixed (Niklas
Cassel)
Synopsys DesignWare PCIe controller driver:
- Add debugfs-based Silicon Debug, Error Injection, Statistical
Counter support for DWC (Shradha Todi)
- Add debugfs property to expose LTSSM status of DWC PCIe link (Hans
Zhang)
- Add Rockchip support for DWC debugfs features (Niklas Cassel)
- Add dw_pcie_parent_bus_offset() to look up the parent bus address
of a specified 'reg' property and return the offset from the CPU
physical address (Frank Li)
- Use dw_pcie_parent_bus_offset() to derive CPU -> ATU addr offset
via 'reg[config]' for host controllers and 'reg[addr_space]' for
endpoint controllers (Frank Li)
- Apply struct dw_pcie.parent_bus_offset in ATU users to remove use
of .cpu_addr_fixup() when programming ATU (Frank Li)
TI J721E PCIe driver:
- Correct the 'link down' interrupt bit for J784S4 (Siddharth
Vadapalli)
TI Keystone PCIe controller driver:
- Describe AM65x BARs 2 and 5 as Resizable (not Fixed) and reduce
alignment requirement from 1MB to 64KB (Niklas Cassel)
Xilinx Versal CPM PCIe controller driver:
- Free IRQ domain in probe error path to avoid leaking it
(Thippeswamy Havalige)
- Add DT .compatible "xlnx,versal-cpm5nc-host" and driver support for
Versal Net CPM5NC Root Port controller (Thippeswamy Havalige)
- Add driver support for CPM5_HOST1 (Thippeswamy Havalige)
Miscellaneous:
- Convert fsl,mpc83xx-pcie binding to YAML (J. Neuschäfer)
- Use for_each_available_child_of_node_scoped() to simplify apple,
kirin, mediatek, mt7621, tegra drivers (Zhang Zekun)"
* tag 'pci-v6.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (197 commits)
PCI: layerscape: Fix arg_count to syscon_regmap_lookup_by_phandle_args()
PCI: j721e: Fix the value of .linkdown_irq_regfield for J784S4
misc: pci_endpoint_test: Add support for PCITEST_IRQ_TYPE_AUTO
PCI: endpoint: pci-epf-test: Expose supported IRQ types in CAPS register
PCI: dw-rockchip: Endpoint mode cannot raise INTx interrupts
PCI: endpoint: Add intx_capable to epc_features struct
dt-bindings: PCI: Add common schema for devices accessible through PCI BARs
PCI: intel-gw: Remove intel_pcie_cpu_addr()
PCI: imx6: Remove imx_pcie_cpu_addr_fixup()
PCI: dwc: Use parent_bus_offset to remove need for .cpu_addr_fixup()
PCI: dwc: ep: Ensure proper iteration over outbound map windows
PCI: dwc: ep: Use devicetree 'reg[addr_space]' to derive CPU -> ATU addr offset
PCI: dwc: ep: Consolidate devicetree handling in dw_pcie_ep_get_resources()
PCI: dwc: ep: Call epc_create() early in dw_pcie_ep_init()
PCI: dwc: Use devicetree 'reg[config]' to derive CPU -> ATU addr offset
PCI: dwc: Add dw_pcie_parent_bus_offset() checking and debug
PCI: dwc: Add dw_pcie_parent_bus_offset()
PCI/bwctrl: Fix NULL pointer dereference on bus number exhaustion
PCI: xilinx-cpm: Add cpm_csr register mapping for CPM5_HOST1 variant
PCI: brcmstb: Make const read-only arrays static
...
790 lines
18 KiB
Text
790 lines
18 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
menu "IRQ chip support"
|
|
|
|
config IRQCHIP
|
|
def_bool y
|
|
depends on (OF_IRQ || ACPI_GENERIC_GSI)
|
|
|
|
config ARM_GIC
|
|
bool
|
|
depends on OF
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
|
|
config ARM_GIC_PM
|
|
bool
|
|
depends on PM
|
|
select ARM_GIC
|
|
|
|
config ARM_GIC_MAX_NR
|
|
int
|
|
depends on ARM_GIC
|
|
default 2 if ARCH_REALVIEW
|
|
default 1
|
|
|
|
config ARM_GIC_V2M
|
|
bool
|
|
depends on PCI
|
|
select ARM_GIC
|
|
select IRQ_MSI_LIB
|
|
select PCI_MSI
|
|
select IRQ_MSI_IOMMU
|
|
|
|
config GIC_NON_BANKED
|
|
bool
|
|
|
|
config ARM_GIC_V3
|
|
bool
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select PARTITION_PERCPU
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
select HAVE_ARM_SMCCC_DISCOVERY
|
|
select IRQ_MSI_IOMMU
|
|
|
|
config ARM_GIC_V3_ITS
|
|
bool
|
|
select GENERIC_MSI_IRQ
|
|
select IRQ_MSI_LIB
|
|
default ARM_GIC_V3
|
|
select IRQ_MSI_IOMMU
|
|
|
|
config ARM_GIC_V3_ITS_FSL_MC
|
|
bool
|
|
depends on ARM_GIC_V3_ITS
|
|
depends on FSL_MC_BUS
|
|
default ARM_GIC_V3_ITS
|
|
|
|
config ARM_NVIC
|
|
bool
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_IRQ_CHIP
|
|
|
|
config ARM_VIC
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config ARM_VIC_NR
|
|
int
|
|
default 4 if ARCH_S5PV210
|
|
default 2
|
|
depends on ARM_VIC
|
|
help
|
|
The maximum number of VICs available in the system, for
|
|
power management.
|
|
|
|
config IRQ_MSI_LIB
|
|
bool
|
|
|
|
config ARMADA_370_XP_IRQ
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select PCI_MSI if PCI
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
|
|
config ALPINE_MSI
|
|
bool
|
|
depends on PCI
|
|
select PCI_MSI
|
|
select GENERIC_IRQ_CHIP
|
|
|
|
config AL_FIC
|
|
bool "Amazon's Annapurna Labs Fabric Interrupt Controller"
|
|
depends on OF
|
|
depends on HAS_IOMEM
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
help
|
|
Support Amazon's Annapurna Labs Fabric Interrupt Controller.
|
|
|
|
config ATMEL_AIC_IRQ
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
select SPARSE_IRQ
|
|
|
|
config ATMEL_AIC5_IRQ
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
select SPARSE_IRQ
|
|
|
|
config I8259
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config BCM2712_MIP
|
|
tristate "Broadcom BCM2712 MSI-X Interrupt Peripheral support"
|
|
depends on ARCH_BRCMSTB || COMPILE_TEST
|
|
default m if ARCH_BRCMSTB
|
|
depends on ARM_GIC
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_MSI_IRQ
|
|
select IRQ_MSI_LIB
|
|
help
|
|
Enable support for the Broadcom BCM2712 MSI-X target peripheral
|
|
(MIP) needed by brcmstb PCIe to handle MSI-X interrupts on
|
|
Raspberry Pi 5.
|
|
|
|
If unsure say n.
|
|
|
|
config BCM6345_L1_IRQ
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
|
|
config BCM7038_L1_IRQ
|
|
tristate "Broadcom STB 7038-style L1/L2 interrupt controller driver"
|
|
depends on ARCH_BRCMSTB || BMIPS_GENERIC
|
|
default ARCH_BRCMSTB || BMIPS_GENERIC
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
|
|
config BCM7120_L2_IRQ
|
|
tristate "Broadcom STB 7120-style L2 interrupt controller driver"
|
|
depends on ARCH_BRCMSTB || BMIPS_GENERIC
|
|
default ARCH_BRCMSTB || BMIPS_GENERIC
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
|
|
config BRCMSTB_L2_IRQ
|
|
tristate "Broadcom STB generic L2 interrupt controller driver"
|
|
depends on ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC
|
|
default ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
|
|
config DAVINCI_CP_INTC
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
|
|
config DW_APB_ICTL
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
|
|
config FARADAY_FTINTC010
|
|
bool
|
|
select IRQ_DOMAIN
|
|
select SPARSE_IRQ
|
|
|
|
config HISILICON_IRQ_MBIGEN
|
|
bool
|
|
select ARM_GIC_V3
|
|
select ARM_GIC_V3_ITS
|
|
|
|
config IMGPDC_IRQ
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
|
|
config IXP4XX_IRQ
|
|
bool
|
|
select IRQ_DOMAIN
|
|
select SPARSE_IRQ
|
|
|
|
config LAN966X_OIC
|
|
tristate "Microchip LAN966x OIC Support"
|
|
depends on MCHP_LAN966X_PCI || COMPILE_TEST
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
help
|
|
Enable support for the LAN966x Outbound Interrupt Controller.
|
|
This controller is present on the Microchip LAN966x PCI device and
|
|
maps the internal interrupts sources to PCIe interrupt.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called irq-lan966x-oic.
|
|
|
|
config MADERA_IRQ
|
|
tristate
|
|
|
|
config IRQ_MIPS_CPU
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select GENERIC_IRQ_IPI if SMP && SYS_SUPPORTS_MULTITHREADING
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
|
|
config CLPS711X_IRQCHIP
|
|
bool
|
|
depends on ARCH_CLPS711X
|
|
select IRQ_DOMAIN
|
|
select SPARSE_IRQ
|
|
default y
|
|
|
|
config OMPIC
|
|
bool
|
|
|
|
config OR1K_PIC
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config OMAP_IRQCHIP
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
|
|
config ORION_IRQCHIP
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config PIC32_EVIC
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
|
|
config JCORE_AIC
|
|
bool "J-Core integrated AIC" if COMPILE_TEST
|
|
depends on OF
|
|
select IRQ_DOMAIN
|
|
help
|
|
Support for the J-Core integrated AIC.
|
|
|
|
config RDA_INTC
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config RENESAS_INTC_IRQPIN
|
|
bool "Renesas INTC External IRQ Pin Support" if COMPILE_TEST
|
|
select IRQ_DOMAIN
|
|
help
|
|
Enable support for the Renesas Interrupt Controller for external
|
|
interrupt pins, as found on SH/R-Mobile and R-Car Gen1 SoCs.
|
|
|
|
config RENESAS_IRQC
|
|
bool "Renesas R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} IRQC support" if COMPILE_TEST
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
help
|
|
Enable support for the Renesas Interrupt Controller for external
|
|
devices, as found on R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} SoCs.
|
|
|
|
config RENESAS_RZA1_IRQC
|
|
bool "Renesas RZ/A1 IRQC support" if COMPILE_TEST
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Enable support for the Renesas RZ/A1 Interrupt Controller, to use up
|
|
to 8 external interrupts with configurable sense select.
|
|
|
|
config RENESAS_RZG2L_IRQC
|
|
bool "Renesas RZ/G2L (and alike SoC) IRQC support" if COMPILE_TEST
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Enable support for the Renesas RZ/G2L (and alike SoC) Interrupt Controller
|
|
for external devices.
|
|
|
|
config RENESAS_RZV2H_ICU
|
|
bool "Renesas RZ/V2H(P) ICU support" if COMPILE_TEST
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Enable support for the Renesas RZ/V2H(P) Interrupt Control Unit (ICU)
|
|
|
|
config SL28CPLD_INTC
|
|
bool "Kontron sl28cpld IRQ controller"
|
|
depends on MFD_SL28CPLD=y || COMPILE_TEST
|
|
select REGMAP_IRQ
|
|
help
|
|
Interrupt controller driver for the board management controller
|
|
found on the Kontron sl28 CPLD.
|
|
|
|
config ST_IRQCHIP
|
|
bool
|
|
select REGMAP
|
|
select MFD_SYSCON
|
|
help
|
|
Enables SysCfg Controlled IRQs on STi based platforms.
|
|
|
|
config SUN4I_INTC
|
|
bool
|
|
|
|
config SUN6I_R_INTC
|
|
bool
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
|
|
|
config SUNXI_NMI_INTC
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
|
|
config TB10X_IRQC
|
|
bool
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_CHIP
|
|
|
|
config TS4800_IRQ
|
|
tristate "TS-4800 IRQ controller"
|
|
select IRQ_DOMAIN
|
|
depends on HAS_IOMEM
|
|
depends on SOC_IMX51 || COMPILE_TEST
|
|
help
|
|
Support for the TS-4800 FPGA IRQ controller
|
|
|
|
config VERSATILE_FPGA_IRQ
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config VERSATILE_FPGA_IRQ_NR
|
|
int
|
|
default 4
|
|
depends on VERSATILE_FPGA_IRQ
|
|
|
|
config XTENSA_MX
|
|
bool
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
|
|
config XILINX_INTC
|
|
bool "Xilinx Interrupt Controller IP"
|
|
depends on OF_ADDRESS
|
|
select IRQ_DOMAIN
|
|
help
|
|
Support for the Xilinx Interrupt Controller IP core.
|
|
This is used as a primary controller with MicroBlaze and can also
|
|
be used as a secondary chained controller on other platforms.
|
|
|
|
config IRQ_CROSSBAR
|
|
bool
|
|
help
|
|
Support for a CROSSBAR ip that precedes the main interrupt controller.
|
|
The primary irqchip invokes the crossbar's callback which inturn allocates
|
|
a free irq and configures the IP. Thus the peripheral interrupts are
|
|
routed to one of the free irqchip interrupt lines.
|
|
|
|
config KEYSTONE_IRQ
|
|
tristate "Keystone 2 IRQ controller IP"
|
|
depends on ARCH_KEYSTONE
|
|
help
|
|
Support for Texas Instruments Keystone 2 IRQ controller IP which
|
|
is part of the Keystone 2 IPC mechanism
|
|
|
|
config MIPS_GIC
|
|
bool
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
select GENERIC_IRQ_IPI if SMP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select MIPS_CM
|
|
|
|
config INGENIC_IRQ
|
|
bool
|
|
depends on MACH_INGENIC
|
|
default y
|
|
|
|
config INGENIC_TCU_IRQ
|
|
bool "Ingenic JZ47xx TCU interrupt controller"
|
|
default MACH_INGENIC
|
|
depends on MIPS || COMPILE_TEST
|
|
select MFD_SYSCON
|
|
select GENERIC_IRQ_CHIP
|
|
help
|
|
Support for interrupts in the Timer/Counter Unit (TCU) of the Ingenic
|
|
JZ47xx SoCs.
|
|
|
|
If unsure, say N.
|
|
|
|
config IMX_GPCV2
|
|
bool
|
|
select IRQ_DOMAIN
|
|
help
|
|
Enables the wakeup IRQs for IMX platforms with GPCv2 block
|
|
|
|
config IRQ_MXS
|
|
def_bool y if MACH_ASM9260 || ARCH_MXS
|
|
select IRQ_DOMAIN
|
|
select STMP_DEVICE
|
|
|
|
config MSCC_OCELOT_IRQ
|
|
bool
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_CHIP
|
|
|
|
config MVEBU_GICP
|
|
select IRQ_MSI_LIB
|
|
bool
|
|
|
|
config MVEBU_ICU
|
|
bool
|
|
|
|
config MVEBU_ODMI
|
|
bool
|
|
select IRQ_MSI_LIB
|
|
select GENERIC_MSI_IRQ
|
|
|
|
config MVEBU_PIC
|
|
bool
|
|
|
|
config MVEBU_SEI
|
|
bool
|
|
|
|
config LS_EXTIRQ
|
|
def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
|
|
select MFD_SYSCON
|
|
|
|
config LS_SCFG_MSI
|
|
def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
|
|
select IRQ_MSI_IOMMU
|
|
depends on PCI_MSI
|
|
|
|
config PARTITION_PERCPU
|
|
bool
|
|
|
|
config STM32MP_EXTI
|
|
tristate "STM32MP extended interrupts and event controller"
|
|
depends on (ARCH_STM32 && !ARM_SINGLE_ARMV7M) || COMPILE_TEST
|
|
default ARCH_STM32 && !ARM_SINGLE_ARMV7M
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_IRQ_CHIP
|
|
help
|
|
Support STM32MP EXTI (extended interrupts and event) controller.
|
|
|
|
config STM32_EXTI
|
|
bool
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_CHIP
|
|
|
|
config QCOM_IRQ_COMBINER
|
|
bool "QCOM IRQ combiner support"
|
|
depends on ARCH_QCOM && ACPI
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Say yes here to add support for the IRQ combiner devices embedded
|
|
in Qualcomm Technologies chips.
|
|
|
|
config IRQ_UNIPHIER_AIDET
|
|
bool "UniPhier AIDET support" if COMPILE_TEST
|
|
depends on ARCH_UNIPHIER || COMPILE_TEST
|
|
default ARCH_UNIPHIER
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Support for the UniPhier AIDET (ARM Interrupt Detector).
|
|
|
|
config MESON_IRQ_GPIO
|
|
tristate "Meson GPIO Interrupt Multiplexer"
|
|
depends on ARCH_MESON || COMPILE_TEST
|
|
default ARCH_MESON
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Support Meson SoC Family GPIO Interrupt Multiplexer
|
|
|
|
config GOLDFISH_PIC
|
|
bool "Goldfish programmable interrupt controller"
|
|
depends on MIPS && (GOLDFISH || COMPILE_TEST)
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
help
|
|
Say yes here to enable Goldfish interrupt controller driver used
|
|
for Goldfish based virtual platforms.
|
|
|
|
config QCOM_PDC
|
|
tristate "QCOM PDC"
|
|
depends on ARCH_QCOM
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Power Domain Controller driver to manage and configure wakeup
|
|
IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
|
|
|
|
config QCOM_MPM
|
|
tristate "QCOM MPM"
|
|
depends on ARCH_QCOM
|
|
depends on MAILBOX
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
MSM Power Manager driver to manage and configure wakeup
|
|
IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
|
|
|
|
config CSKY_MPINTC
|
|
bool
|
|
depends on CSKY
|
|
help
|
|
Say yes here to enable C-SKY SMP interrupt controller driver used
|
|
for C-SKY SMP system.
|
|
In fact it's not mmio map in hardware and it uses ld/st to visit the
|
|
controller's register inside CPU.
|
|
|
|
config CSKY_APB_INTC
|
|
bool "C-SKY APB Interrupt Controller"
|
|
depends on CSKY
|
|
help
|
|
Say yes here to enable C-SKY APB interrupt controller driver used
|
|
by C-SKY single core SOC system. It uses mmio map apb-bus to visit
|
|
the controller's register.
|
|
|
|
config IMX_IRQSTEER
|
|
bool "i.MX IRQSTEER support"
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
default ARCH_MXC
|
|
select IRQ_DOMAIN
|
|
help
|
|
Support for the i.MX IRQSTEER interrupt multiplexer/remapper.
|
|
|
|
config IMX_INTMUX
|
|
bool "i.MX INTMUX support" if COMPILE_TEST
|
|
default y if ARCH_MXC
|
|
select IRQ_DOMAIN
|
|
help
|
|
Support for the i.MX INTMUX interrupt multiplexer.
|
|
|
|
config IMX_MU_MSI
|
|
tristate "i.MX MU used as MSI controller"
|
|
depends on OF && HAS_IOMEM
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
default m if ARCH_MXC
|
|
select IRQ_DOMAIN
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_MSI_IRQ
|
|
select IRQ_MSI_LIB
|
|
help
|
|
Provide a driver for the i.MX Messaging Unit block used as a
|
|
CPU-to-CPU MSI controller. This requires a specially crafted DT
|
|
to make use of this driver.
|
|
|
|
If unsure, say N
|
|
|
|
config LS1X_IRQ
|
|
bool "Loongson-1 Interrupt Controller"
|
|
depends on MACH_LOONGSON32
|
|
default y
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_CHIP
|
|
help
|
|
Support for the Loongson-1 platform Interrupt Controller.
|
|
|
|
config TI_SCI_INTR_IRQCHIP
|
|
tristate "TI SCI INTR Interrupt Controller"
|
|
depends on TI_SCI_PROTOCOL
|
|
depends on ARCH_K3 || COMPILE_TEST
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
This enables the irqchip driver support for K3 Interrupt router
|
|
over TI System Control Interface available on some new TI's SoCs.
|
|
If you wish to use interrupt router irq resources managed by the
|
|
TI System Controller, say Y here. Otherwise, say N.
|
|
|
|
config TI_SCI_INTA_IRQCHIP
|
|
tristate "TI SCI INTA Interrupt Controller"
|
|
depends on TI_SCI_PROTOCOL
|
|
depends on ARCH_K3 || (COMPILE_TEST && ARM64)
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select TI_SCI_INTA_MSI_DOMAIN
|
|
help
|
|
This enables the irqchip driver support for K3 Interrupt aggregator
|
|
over TI System Control Interface available on some new TI's SoCs.
|
|
If you wish to use interrupt aggregator irq resources managed by the
|
|
TI System Controller, say Y here. Otherwise, say N.
|
|
|
|
config TI_PRUSS_INTC
|
|
tristate
|
|
depends on TI_PRUSS
|
|
default TI_PRUSS
|
|
select IRQ_DOMAIN
|
|
help
|
|
This enables support for the PRU-ICSS Local Interrupt Controller
|
|
present within a PRU-ICSS subsystem present on various TI SoCs.
|
|
The PRUSS INTC enables various interrupts to be routed to multiple
|
|
different processors within the SoC.
|
|
|
|
config RISCV_INTC
|
|
bool
|
|
depends on RISCV
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
|
|
config RISCV_APLIC
|
|
bool
|
|
depends on RISCV
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
|
|
config RISCV_APLIC_MSI
|
|
bool
|
|
depends on RISCV_APLIC
|
|
select GENERIC_MSI_IRQ
|
|
default RISCV_APLIC
|
|
|
|
config RISCV_IMSIC
|
|
bool
|
|
depends on RISCV
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_IRQ_MATRIX_ALLOCATOR
|
|
select GENERIC_MSI_IRQ
|
|
select IRQ_MSI_LIB
|
|
|
|
config SIFIVE_PLIC
|
|
bool
|
|
depends on RISCV
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
|
|
config STARFIVE_JH8100_INTC
|
|
bool "StarFive JH8100 External Interrupt Controller"
|
|
depends on ARCH_STARFIVE || COMPILE_TEST
|
|
default ARCH_STARFIVE
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
This enables support for the INTC chip found in StarFive JH8100
|
|
SoC.
|
|
|
|
If you don't know what to do here, say Y.
|
|
|
|
config THEAD_C900_ACLINT_SSWI
|
|
bool "THEAD C9XX ACLINT S-mode IPI Interrupt Controller"
|
|
depends on RISCV
|
|
depends on SMP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_IRQ_IPI_MUX
|
|
help
|
|
This enables support for T-HEAD specific ACLINT SSWI device
|
|
support.
|
|
|
|
If you don't know what to do here, say Y.
|
|
|
|
config EXYNOS_IRQ_COMBINER
|
|
bool "Samsung Exynos IRQ combiner support" if COMPILE_TEST
|
|
depends on (ARCH_EXYNOS && ARM) || COMPILE_TEST
|
|
help
|
|
Say yes here to add support for the IRQ combiner devices embedded
|
|
in Samsung Exynos chips.
|
|
|
|
config IRQ_LOONGARCH_CPU
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
|
|
select LOONGSON_HTVEC
|
|
select LOONGSON_LIOINTC
|
|
select LOONGSON_EIOINTC
|
|
select LOONGSON_PCH_PIC
|
|
select LOONGSON_PCH_MSI
|
|
select LOONGSON_PCH_LPC
|
|
help
|
|
Support for the LoongArch CPU Interrupt Controller. For details of
|
|
irq chip hierarchy on LoongArch platforms please read the document
|
|
Documentation/arch/loongarch/irq-chip-model.rst.
|
|
|
|
config LOONGSON_LIOINTC
|
|
bool "Loongson Local I/O Interrupt Controller"
|
|
depends on MACH_LOONGSON64
|
|
default y
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_CHIP
|
|
help
|
|
Support for the Loongson Local I/O Interrupt Controller.
|
|
|
|
config LOONGSON_EIOINTC
|
|
bool "Loongson Extend I/O Interrupt Controller"
|
|
depends on LOONGARCH
|
|
depends on MACH_LOONGSON64
|
|
default MACH_LOONGSON64
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select GENERIC_IRQ_CHIP
|
|
help
|
|
Support for the Loongson3 Extend I/O Interrupt Vector Controller.
|
|
|
|
config LOONGSON_HTPIC
|
|
bool "Loongson3 HyperTransport PIC Controller"
|
|
depends on MACH_LOONGSON64 && MIPS
|
|
default y
|
|
select IRQ_DOMAIN
|
|
select GENERIC_IRQ_CHIP
|
|
help
|
|
Support for the Loongson-3 HyperTransport PIC Controller.
|
|
|
|
config LOONGSON_HTVEC
|
|
bool "Loongson HyperTransport Interrupt Vector Controller"
|
|
depends on MACH_LOONGSON64
|
|
default MACH_LOONGSON64
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Support for the Loongson HyperTransport Interrupt Vector Controller.
|
|
|
|
config LOONGSON_PCH_PIC
|
|
bool "Loongson PCH PIC Controller"
|
|
depends on MACH_LOONGSON64
|
|
default MACH_LOONGSON64
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
|
help
|
|
Support for the Loongson PCH PIC Controller.
|
|
|
|
config LOONGSON_PCH_MSI
|
|
bool "Loongson PCH MSI Controller"
|
|
depends on MACH_LOONGSON64
|
|
depends on PCI
|
|
default MACH_LOONGSON64
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select IRQ_MSI_LIB
|
|
select PCI_MSI
|
|
help
|
|
Support for the Loongson PCH MSI Controller.
|
|
|
|
config LOONGSON_PCH_LPC
|
|
bool "Loongson PCH LPC Controller"
|
|
depends on LOONGARCH
|
|
depends on MACH_LOONGSON64
|
|
default MACH_LOONGSON64
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Support for the Loongson PCH LPC Controller.
|
|
|
|
config MST_IRQ
|
|
bool "MStar Interrupt Controller"
|
|
depends on ARCH_MEDIATEK || ARCH_MSTARV7 || COMPILE_TEST
|
|
default ARCH_MEDIATEK
|
|
select IRQ_DOMAIN
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Support MStar Interrupt Controller.
|
|
|
|
config WPCM450_AIC
|
|
bool "Nuvoton WPCM450 Advanced Interrupt Controller"
|
|
depends on ARCH_WPCM450
|
|
help
|
|
Support for the interrupt controller in the Nuvoton WPCM450 BMC SoC.
|
|
|
|
config IRQ_IDT3243X
|
|
bool
|
|
select GENERIC_IRQ_CHIP
|
|
select IRQ_DOMAIN
|
|
|
|
config APPLE_AIC
|
|
bool "Apple Interrupt Controller (AIC)"
|
|
depends on ARM64
|
|
depends on ARCH_APPLE || COMPILE_TEST
|
|
select GENERIC_IRQ_IPI_MUX
|
|
help
|
|
Support for the Apple Interrupt Controller found on Apple Silicon SoCs,
|
|
such as the M1.
|
|
|
|
config MCHP_EIC
|
|
bool "Microchip External Interrupt Controller"
|
|
depends on ARCH_AT91 || COMPILE_TEST
|
|
select IRQ_DOMAIN
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
Support for Microchip External Interrupt Controller.
|
|
|
|
config SOPHGO_SG2042_MSI
|
|
bool "Sophgo SG2042 MSI Controller"
|
|
depends on ARCH_SOPHGO || COMPILE_TEST
|
|
depends on PCI
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select IRQ_MSI_LIB
|
|
select PCI_MSI
|
|
help
|
|
Support for the Sophgo SG2042 MSI Controller.
|
|
This on-chip interrupt controller enables MSI sources to be
|
|
routed to the primary PLIC controller on SoC.
|
|
|
|
config SUNPLUS_SP7021_INTC
|
|
bool "Sunplus SP7021 interrupt controller" if COMPILE_TEST
|
|
default SOC_SP7021
|
|
help
|
|
Support for the Sunplus SP7021 Interrupt Controller IP core.
|
|
SP7021 SoC has 2 Chips: C-Chip & P-Chip. This is used as a
|
|
chained controller, routing all interrupt source in P-Chip to
|
|
the primary controller on C-Chip.
|
|
|
|
endmenu
|