Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[linux-block.git] / kernel / irq / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
d9817ebe 2menu "IRQ subsystem"
d9817ebe 3# Options selectable by the architecture code
c68fd4f3
TG
4
5# Make sparse irq Kconfig switch below available
2ed86b16 6config MAY_HAVE_SPARSE_IRQ
fd4afaf3 7 bool
d9817ebe 8
c940e01c
TG
9# Legacy support, required for itanic
10config GENERIC_IRQ_LEGACY
11 bool
12
c68fd4f3 13# Enable the generic irq autoprobe mechanism
d9817ebe 14config GENERIC_IRQ_PROBE
fd4afaf3 15 bool
d9817ebe 16
c68fd4f3 17# Use the generic /proc/interrupts implementation
c78b9b65 18config GENERIC_IRQ_SHOW
fd4afaf3 19 bool
c78b9b65 20
ab7798ff
TG
21# Print level/edge extra information
22config GENERIC_IRQ_SHOW_LEVEL
23 bool
24
0d3f5425
TG
25# Supports effective affinity mask
26config GENERIC_IRQ_EFFECTIVE_AFF_MASK
0e6c027c 27 depends on SMP
0d3f5425
TG
28 bool
29
c68fd4f3 30# Support for delayed migration from interrupt context
d9817ebe 31config GENERIC_PENDING_IRQ
fd4afaf3 32 bool
d9817ebe 33
f1e0bb0a
YY
34# Support for generic irq migrating off cpu before the cpu is offline.
35config GENERIC_IRQ_MIGRATION
36 bool
37
c68fd4f3 38# Alpha specific irq affinity mechanism
d9817ebe 39config AUTO_IRQ_AFFINITY
fd4afaf3 40 bool
d9817ebe 41
acd26bcf
TG
42# Interrupt injection mechanism
43config GENERIC_IRQ_INJECTION
44 bool
45
c68fd4f3 46# Tasklet based software resend for pending interrupts on enable_irq()
d9817ebe 47config HARDIRQS_SW_RESEND
fd4afaf3 48 bool
d9817ebe 49
0521c8fb
TG
50# Edge style eoi based handler (cell)
51config IRQ_EDGE_EOI_HANDLER
52 bool
53
c42321c7
TG
54# Generic configurable interrupt chip implementation
55config GENERIC_IRQ_CHIP
56 bool
923fa4ea 57 select IRQ_DOMAIN
c42321c7 58
08a543ad
GL
59# Generic irq_domain hw <--> linux irq number translation
60config IRQ_DOMAIN
61 bool
62
b19af510
BG
63# Support for simulated interrupts
64config IRQ_SIM
65 bool
66 select IRQ_WORK
337cbeb2 67 select IRQ_DOMAIN
b19af510 68
f8264e34
JL
69# Support for hierarchical irq domains
70config IRQ_DOMAIN_HIERARCHY
71 bool
72 select IRQ_DOMAIN
73
e37af801
MZ
74# Support for obsolete non-mapping irq domains
75config IRQ_DOMAIN_NOMAP
76 bool
77 select IRQ_DOMAIN
78
7703b08c
DD
79# Support for hierarchical fasteoi+edge and fasteoi+level handlers
80config IRQ_FASTEOI_HIERARCHY_HANDLERS
81 bool
82
379b6564
QY
83# Generic IRQ IPI support
84config GENERIC_IRQ_IPI
85 bool
0f5209fe 86 depends on SMP
151a5351 87 select IRQ_DOMAIN_HIERARCHY
379b6564 88
835a486c
AP
89# Generic IRQ IPI Mux support
90config GENERIC_IRQ_IPI_MUX
91 bool
92 depends on SMP
93
f3cf8bb0 94# Generic MSI hierarchical interrupt domain support
13e7accb 95config GENERIC_MSI_IRQ
f3cf8bb0
JL
96 bool
97 select IRQ_DOMAIN_HIERARCHY
f3cf8bb0 98
aaebdf8d
JG
99config IRQ_MSI_IOMMU
100 bool
101
b2d3d61a
DL
102config IRQ_TIMINGS
103 bool
104
2f75d9e1
TG
105config GENERIC_IRQ_MATRIX_ALLOCATOR
106 bool
107
2b5175c4
TG
108config GENERIC_IRQ_RESERVATION_MODE
109 bool
110
99cf63c5
BH
111# Snapshot for interrupt statistics
112config GENERIC_IRQ_STAT_SNAPSHOT
113 bool
114
c68fd4f3 115# Support forced irq threading
8d32a307
TG
116config IRQ_FORCED_THREADING
117 bool
118
d9817ebe 119config SPARSE_IRQ
2ed86b16 120 bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
a7f7f624 121 help
d9817ebe
TG
122
123 Sparse irq numbering is useful for distro kernels that want
124 to define a high CONFIG_NR_CPUS value but still want to have
125 low kernel memory footprint on smaller machines.
126
127 ( Sparse irqs can also be beneficial on NUMA boxes, as they spread
128 out the interrupt descriptors in a more NUMA-friendly way. )
129
130 If you don't know what to do here, say N.
131
087cdfb6
TG
132config GENERIC_IRQ_DEBUGFS
133 bool "Expose irq internals in debugfs"
134 depends on DEBUG_FS
acd26bcf 135 select GENERIC_IRQ_INJECTION
087cdfb6 136 default n
a7f7f624 137 help
087cdfb6
TG
138
139 Exposes internal state information through debugfs. Mostly for
140 developers and debugging of hard to diagnose interrupt problems.
141
142 If you don't know what to do here, say N.
143
d9817ebe 144endmenu
caacdbf4
PD
145
146config GENERIC_IRQ_MULTI_HANDLER
147 bool
148 help
149 Allow to specify the low level IRQ handler at run time.
8d15a729
MZ
150
151# Cavium Octeon is the last system to use this deprecated option
152# Do not even think of enabling this on any new platform
153config DEPRECATED_IRQ_CPU_ONOFFLINE
154 bool
155 depends on CAVIUM_OCTEON_SOC
156 default CAVIUM_OCTEON_SOC