2019-05-19 13:07:45 +01:00
# SPDX-License-Identifier: GPL-2.0-only
2010-09-27 12:45:59 +00:00
menu "IRQ subsystem"
# Options selectable by the architecture code
2011-03-08 19:52:55 +01:00
# Make sparse irq Kconfig switch below available
2012-01-25 20:02:40 -06:00
config MAY_HAVE_SPARSE_IRQ
2011-02-17 13:39:05 +00:00
bool
2010-09-27 12:45:59 +00:00
2014-05-07 15:44:22 +00:00
# Legacy support, required for itanic
config GENERIC_IRQ_LEGACY
bool
2011-03-08 19:52:55 +01:00
# Enable the generic irq autoprobe mechanism
2010-09-27 12:45:59 +00:00
config GENERIC_IRQ_PROBE
2011-02-17 13:39:05 +00:00
bool
2010-09-27 12:45:59 +00:00
2011-03-08 19:52:55 +01:00
# Use the generic /proc/interrupts implementation
2010-12-16 17:21:47 +01:00
config GENERIC_IRQ_SHOW
2011-02-17 13:39:05 +00:00
bool
2010-12-16 17:21:47 +01:00
2011-03-25 16:48:50 +01:00
# Print level/edge extra information
config GENERIC_IRQ_SHOW_LEVEL
bool
2017-06-20 01:37:38 +02:00
# Supports effective affinity mask
config GENERIC_IRQ_EFFECTIVE_AFF_MASK
bool
2011-03-08 19:52:55 +01:00
# Support for delayed migration from interrupt context
2010-09-27 12:45:59 +00:00
config GENERIC_PENDING_IRQ
2011-02-17 13:39:05 +00:00
bool
2010-09-27 12:45:59 +00:00
2015-09-24 17:32:13 +08:00
# Support for generic irq migrating off cpu before the cpu is offline.
config GENERIC_IRQ_MIGRATION
bool
2011-03-08 19:52:55 +01:00
# Alpha specific irq affinity mechanism
2010-09-27 12:45:59 +00:00
config AUTO_IRQ_AFFINITY
2011-02-17 13:39:05 +00:00
bool
2010-09-27 12:45:59 +00:00
2020-03-06 14:03:47 +01:00
# Interrupt injection mechanism
config GENERIC_IRQ_INJECTION
bool
2011-03-08 19:52:55 +01:00
# Tasklet based software resend for pending interrupts on enable_irq()
2010-09-27 12:45:59 +00:00
config HARDIRQS_SW_RESEND
2011-02-17 13:39:05 +00:00
bool
2010-09-27 12:45:59 +00:00
2011-03-28 16:13:24 +02:00
# Edge style eoi based handler (cell)
config IRQ_EDGE_EOI_HANDLER
bool
2011-05-02 18:16:22 +02:00
# Generic configurable interrupt chip implementation
config GENERIC_IRQ_CHIP
bool
2014-01-30 16:50:10 -08:00
select IRQ_DOMAIN
2011-05-02 18:16:22 +02:00
2011-07-26 03:19:06 -06:00
# Generic irq_domain hw <--> linux irq number translation
config IRQ_DOMAIN
bool
2017-08-14 16:53:16 +02:00
# Support for simulated interrupts
config IRQ_SIM
bool
select IRQ_WORK
2020-05-14 10:39:01 +02:00
select IRQ_DOMAIN
2017-08-14 16:53:16 +02:00
2014-11-06 22:20:14 +08:00
# Support for hierarchical irq domains
config IRQ_DOMAIN_HIERARCHY
bool
select IRQ_DOMAIN
2021-04-04 13:06:39 +01:00
# Support for obsolete non-mapping irq domains
config IRQ_DOMAIN_NOMAP
bool
select IRQ_DOMAIN
2017-08-17 17:53:31 -07:00
# Support for hierarchical fasteoi+edge and fasteoi+level handlers
config IRQ_FASTEOI_HIERARCHY_HANDLERS
bool
2015-12-08 13:20:14 +00:00
# Generic IRQ IPI support
config GENERIC_IRQ_IPI
bool
2020-10-15 21:41:44 +01:00
select IRQ_DOMAIN_HIERARCHY
2015-12-08 13:20:14 +00:00
2014-11-12 11:39:03 +01:00
# Generic MSI interrupt support
config GENERIC_MSI_IRQ
bool
# Generic MSI hierarchical interrupt domain support
config GENERIC_MSI_IRQ_DOMAIN
bool
select IRQ_DOMAIN_HIERARCHY
select GENERIC_MSI_IRQ
2019-05-01 14:58:18 +01:00
config IRQ_MSI_IOMMU
bool
2017-06-23 16:11:07 +02:00
config IRQ_TIMINGS
bool
2017-09-13 23:29:14 +02:00
config GENERIC_IRQ_MATRIX_ALLOCATOR
bool
2017-10-17 09:54:57 +02:00
config GENERIC_IRQ_RESERVATION_MODE
bool
2011-03-08 19:52:55 +01:00
# Support forced irq threading
2011-02-23 23:52:23 +00:00
config IRQ_FORCED_THREADING
bool
2010-09-27 12:45:59 +00:00
config SPARSE_IRQ
2012-01-25 20:02:40 -06:00
bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
2020-06-14 01:50:22 +09:00
help
2010-09-27 12:45:59 +00:00
Sparse irq numbering is useful for distro kernels that want
to define a high CONFIG_NR_CPUS value but still want to have
low kernel memory footprint on smaller machines.
( Sparse irqs can also be beneficial on NUMA boxes, as they spread
out the interrupt descriptors in a more NUMA-friendly way. )
If you don't know what to do here, say N.
2017-06-20 01:37:17 +02:00
config GENERIC_IRQ_DEBUGFS
bool "Expose irq internals in debugfs"
depends on DEBUG_FS
2020-03-06 14:03:47 +01:00
select GENERIC_IRQ_INJECTION
2017-06-20 01:37:17 +02:00
default n
2020-06-14 01:50:22 +09:00
help
2017-06-20 01:37:17 +02:00
Exposes internal state information through debugfs. Mostly for
developers and debugging of hard to diagnose interrupt problems.
If you don't know what to do here, say N.
2010-09-27 12:45:59 +00:00
endmenu
2018-03-07 15:57:27 -08:00
config GENERIC_IRQ_MULTI_HANDLER
bool
help
Allow to specify the low level IRQ handler at run time.
2021-10-21 18:04:14 +01:00
# Cavium Octeon is the last system to use this deprecated option
# Do not even think of enabling this on any new platform
config DEPRECATED_IRQ_CPU_ONOFFLINE
bool
depends on CAVIUM_OCTEON_SOC
default CAVIUM_OCTEON_SOC