xref: /linux/kernel/irq/Kconfig (revision caacdbf4aa567ab5e8de1a4070195c5d3e8f1340)
1d9817ebeSThomas Gleixnermenu "IRQ subsystem"
2d9817ebeSThomas Gleixner# Options selectable by the architecture code
3c68fd4f3SThomas Gleixner
4c68fd4f3SThomas Gleixner# Make sparse irq Kconfig switch below available
52ed86b16SRob Herringconfig MAY_HAVE_SPARSE_IRQ
6fd4afaf3SJan Beulich       bool
7d9817ebeSThomas Gleixner
8c940e01cSThomas Gleixner# Legacy support, required for itanic
9c940e01cSThomas Gleixnerconfig GENERIC_IRQ_LEGACY
10c940e01cSThomas Gleixner       bool
11c940e01cSThomas Gleixner
12c68fd4f3SThomas Gleixner# Enable the generic irq autoprobe mechanism
13d9817ebeSThomas Gleixnerconfig GENERIC_IRQ_PROBE
14fd4afaf3SJan Beulich	bool
15d9817ebeSThomas Gleixner
16c68fd4f3SThomas Gleixner# Use the generic /proc/interrupts implementation
17c78b9b65SThomas Gleixnerconfig GENERIC_IRQ_SHOW
18fd4afaf3SJan Beulich       bool
19c78b9b65SThomas Gleixner
20ab7798ffSThomas Gleixner# Print level/edge extra information
21ab7798ffSThomas Gleixnerconfig GENERIC_IRQ_SHOW_LEVEL
22ab7798ffSThomas Gleixner       bool
23ab7798ffSThomas Gleixner
240d3f5425SThomas Gleixner# Supports effective affinity mask
250d3f5425SThomas Gleixnerconfig GENERIC_IRQ_EFFECTIVE_AFF_MASK
260d3f5425SThomas Gleixner       bool
270d3f5425SThomas Gleixner
287b6ef126SThomas Gleixner# Facility to allocate a hardware interrupt. This is legacy support
297b6ef126SThomas Gleixner# and should not be used in new code. Use irq domains instead.
307b6ef126SThomas Gleixnerconfig GENERIC_IRQ_LEGACY_ALLOC_HWIRQ
317b6ef126SThomas Gleixner       bool
327b6ef126SThomas Gleixner
33c68fd4f3SThomas Gleixner# Support for delayed migration from interrupt context
34d9817ebeSThomas Gleixnerconfig GENERIC_PENDING_IRQ
35fd4afaf3SJan Beulich	bool
36d9817ebeSThomas Gleixner
37f1e0bb0aSYang Yingliang# Support for generic irq migrating off cpu before the cpu is offline.
38f1e0bb0aSYang Yingliangconfig GENERIC_IRQ_MIGRATION
39f1e0bb0aSYang Yingliang	bool
40f1e0bb0aSYang Yingliang
41c68fd4f3SThomas Gleixner# Alpha specific irq affinity mechanism
42d9817ebeSThomas Gleixnerconfig AUTO_IRQ_AFFINITY
43fd4afaf3SJan Beulich       bool
44d9817ebeSThomas Gleixner
45c68fd4f3SThomas Gleixner# Tasklet based software resend for pending interrupts on enable_irq()
46d9817ebeSThomas Gleixnerconfig HARDIRQS_SW_RESEND
47fd4afaf3SJan Beulich       bool
48d9817ebeSThomas Gleixner
49c68fd4f3SThomas Gleixner# Preflow handler support for fasteoi (sparc64)
5078129576SThomas Gleixnerconfig IRQ_PREFLOW_FASTEOI
51fd4afaf3SJan Beulich       bool
5278129576SThomas Gleixner
530521c8fbSThomas Gleixner# Edge style eoi based handler (cell)
540521c8fbSThomas Gleixnerconfig IRQ_EDGE_EOI_HANDLER
550521c8fbSThomas Gleixner       bool
560521c8fbSThomas Gleixner
57c42321c7SThomas Gleixner# Generic configurable interrupt chip implementation
58c42321c7SThomas Gleixnerconfig GENERIC_IRQ_CHIP
59c42321c7SThomas Gleixner       bool
60923fa4eaSNitin A Kamble       select IRQ_DOMAIN
61c42321c7SThomas Gleixner
6208a543adSGrant Likely# Generic irq_domain hw <--> linux irq number translation
6308a543adSGrant Likelyconfig IRQ_DOMAIN
6408a543adSGrant Likely	bool
6508a543adSGrant Likely
66b19af510SBartosz Golaszewski# Support for simulated interrupts
67b19af510SBartosz Golaszewskiconfig IRQ_SIM
68b19af510SBartosz Golaszewski	bool
69b19af510SBartosz Golaszewski	select IRQ_WORK
70b19af510SBartosz Golaszewski
71f8264e34SJiang Liu# Support for hierarchical irq domains
72f8264e34SJiang Liuconfig IRQ_DOMAIN_HIERARCHY
73f8264e34SJiang Liu	bool
74f8264e34SJiang Liu	select IRQ_DOMAIN
75f8264e34SJiang Liu
767703b08cSDavid Daney# Support for hierarchical fasteoi+edge and fasteoi+level handlers
777703b08cSDavid Daneyconfig IRQ_FASTEOI_HIERARCHY_HANDLERS
787703b08cSDavid Daney	bool
797703b08cSDavid Daney
80379b6564SQais Yousef# Generic IRQ IPI support
81379b6564SQais Yousefconfig GENERIC_IRQ_IPI
82379b6564SQais Yousef	bool
83379b6564SQais Yousef
84f3cf8bb0SJiang Liu# Generic MSI interrupt support
85f3cf8bb0SJiang Liuconfig GENERIC_MSI_IRQ
86f3cf8bb0SJiang Liu	bool
87f3cf8bb0SJiang Liu
88f3cf8bb0SJiang Liu# Generic MSI hierarchical interrupt domain support
89f3cf8bb0SJiang Liuconfig GENERIC_MSI_IRQ_DOMAIN
90f3cf8bb0SJiang Liu	bool
91f3cf8bb0SJiang Liu	select IRQ_DOMAIN_HIERARCHY
92f3cf8bb0SJiang Liu	select GENERIC_MSI_IRQ
93f3cf8bb0SJiang Liu
9476ba59f8SMarc Zyngierconfig HANDLE_DOMAIN_IRQ
9576ba59f8SMarc Zyngier	bool
9676ba59f8SMarc Zyngier
97b2d3d61aSDaniel Lezcanoconfig IRQ_TIMINGS
98b2d3d61aSDaniel Lezcano	bool
99b2d3d61aSDaniel Lezcano
1002f75d9e1SThomas Gleixnerconfig GENERIC_IRQ_MATRIX_ALLOCATOR
1012f75d9e1SThomas Gleixner	bool
1022f75d9e1SThomas Gleixner
1032b5175c4SThomas Gleixnerconfig GENERIC_IRQ_RESERVATION_MODE
1042b5175c4SThomas Gleixner	bool
1052b5175c4SThomas Gleixner
106c68fd4f3SThomas Gleixner# Support forced irq threading
1078d32a307SThomas Gleixnerconfig IRQ_FORCED_THREADING
1088d32a307SThomas Gleixner       bool
1098d32a307SThomas Gleixner
110d9817ebeSThomas Gleixnerconfig SPARSE_IRQ
1112ed86b16SRob Herring	bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
112d9817ebeSThomas Gleixner	---help---
113d9817ebeSThomas Gleixner
114d9817ebeSThomas Gleixner	  Sparse irq numbering is useful for distro kernels that want
115d9817ebeSThomas Gleixner	  to define a high CONFIG_NR_CPUS value but still want to have
116d9817ebeSThomas Gleixner	  low kernel memory footprint on smaller machines.
117d9817ebeSThomas Gleixner
118d9817ebeSThomas Gleixner	  ( Sparse irqs can also be beneficial on NUMA boxes, as they spread
119d9817ebeSThomas Gleixner	    out the interrupt descriptors in a more NUMA-friendly way. )
120d9817ebeSThomas Gleixner
121d9817ebeSThomas Gleixner	  If you don't know what to do here, say N.
122d9817ebeSThomas Gleixner
123087cdfb6SThomas Gleixnerconfig GENERIC_IRQ_DEBUGFS
124087cdfb6SThomas Gleixner	bool "Expose irq internals in debugfs"
125087cdfb6SThomas Gleixner	depends on DEBUG_FS
126087cdfb6SThomas Gleixner	default n
127087cdfb6SThomas Gleixner	---help---
128087cdfb6SThomas Gleixner
129087cdfb6SThomas Gleixner	  Exposes internal state information through debugfs. Mostly for
130087cdfb6SThomas Gleixner	  developers and debugging of hard to diagnose interrupt problems.
131087cdfb6SThomas Gleixner
132087cdfb6SThomas Gleixner	  If you don't know what to do here, say N.
133087cdfb6SThomas Gleixner
134d9817ebeSThomas Gleixnerendmenu
135*caacdbf4SPalmer Dabbelt
136*caacdbf4SPalmer Dabbeltconfig GENERIC_IRQ_MULTI_HANDLER
137*caacdbf4SPalmer Dabbelt	bool
138*caacdbf4SPalmer Dabbelt	help
139*caacdbf4SPalmer Dabbelt	  Allow to specify the low level IRQ handler at run time.
140