blob: 5f3e2baefca92e45442b9aa4a2b1399bbf0ce21e [file] [log] [blame]
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +00001menu "IRQ subsystem"
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +00002# Options selectable by the architecture code
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +01003
4# Make sparse irq Kconfig switch below available
Rob Herring2ed86b12012-01-25 20:02:40 -06005config MAY_HAVE_SPARSE_IRQ
Jan Beulichfd4afaf2011-02-17 13:39:05 +00006 bool
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +00007
Thomas Gleixnerc940e012014-05-07 15:44:22 +00008# Legacy support, required for itanic
9config GENERIC_IRQ_LEGACY
10 bool
11
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010012# Enable the generic irq autoprobe mechanism
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000013config GENERIC_IRQ_PROBE
Jan Beulichfd4afaf2011-02-17 13:39:05 +000014 bool
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000015
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010016# Use the generic /proc/interrupts implementation
Thomas Gleixnerc78b9b62010-12-16 17:21:47 +010017config GENERIC_IRQ_SHOW
Jan Beulichfd4afaf2011-02-17 13:39:05 +000018 bool
Thomas Gleixnerc78b9b62010-12-16 17:21:47 +010019
Thomas Gleixnerab7798f2011-03-25 16:48:50 +010020# Print level/edge extra information
21config GENERIC_IRQ_SHOW_LEVEL
22 bool
23
Thomas Gleixner0d3f5422017-06-20 01:37:38 +020024# Supports effective affinity mask
25config GENERIC_IRQ_EFFECTIVE_AFF_MASK
26 bool
27
Thomas Gleixner7b6ef122014-05-07 15:44:05 +000028# Facility to allocate a hardware interrupt. This is legacy support
29# and should not be used in new code. Use irq domains instead.
30config GENERIC_IRQ_LEGACY_ALLOC_HWIRQ
31 bool
32
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010033# Support for delayed migration from interrupt context
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000034config GENERIC_PENDING_IRQ
Jan Beulichfd4afaf2011-02-17 13:39:05 +000035 bool
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000036
Yang Yingliangf1e0bb02015-09-24 17:32:13 +080037# Support for generic irq migrating off cpu before the cpu is offline.
38config GENERIC_IRQ_MIGRATION
39 bool
40
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010041# Alpha specific irq affinity mechanism
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000042config AUTO_IRQ_AFFINITY
Jan Beulichfd4afaf2011-02-17 13:39:05 +000043 bool
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000044
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010045# Tasklet based software resend for pending interrupts on enable_irq()
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000046config HARDIRQS_SW_RESEND
Jan Beulichfd4afaf2011-02-17 13:39:05 +000047 bool
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000048
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010049# Preflow handler support for fasteoi (sparc64)
Thomas Gleixner78129572011-02-10 15:14:20 +010050config IRQ_PREFLOW_FASTEOI
Jan Beulichfd4afaf2011-02-17 13:39:05 +000051 bool
Thomas Gleixner78129572011-02-10 15:14:20 +010052
Thomas Gleixner0521c8f2011-03-28 16:13:24 +020053# Edge style eoi based handler (cell)
54config IRQ_EDGE_EOI_HANDLER
55 bool
56
Thomas Gleixnerc42321c2011-05-02 18:16:22 +020057# Generic configurable interrupt chip implementation
58config GENERIC_IRQ_CHIP
59 bool
Nitin A Kamble923fa4e2014-01-30 16:50:10 -080060 select IRQ_DOMAIN
Thomas Gleixnerc42321c2011-05-02 18:16:22 +020061
Grant Likely08a543a2011-07-26 03:19:06 -060062# Generic irq_domain hw <--> linux irq number translation
63config IRQ_DOMAIN
64 bool
65
Bartosz Golaszewskib19af512017-08-14 16:53:16 +020066# Support for simulated interrupts
67config IRQ_SIM
68 bool
69 select IRQ_WORK
70
Jiang Liuf8264e32014-11-06 22:20:14 +080071# Support for hierarchical irq domains
72config IRQ_DOMAIN_HIERARCHY
73 bool
74 select IRQ_DOMAIN
75
David Daney7703b082017-08-17 17:53:31 -070076# Support for hierarchical fasteoi+edge and fasteoi+level handlers
77config IRQ_FASTEOI_HIERARCHY_HANDLERS
78 bool
79
Qais Yousef379b6562015-12-08 13:20:14 +000080# Generic IRQ IPI support
81config GENERIC_IRQ_IPI
82 bool
83
Jiang Liuf3cf8bb2014-11-12 11:39:03 +010084# Generic MSI interrupt support
85config GENERIC_MSI_IRQ
86 bool
87
88# Generic MSI hierarchical interrupt domain support
89config GENERIC_MSI_IRQ_DOMAIN
90 bool
91 select IRQ_DOMAIN_HIERARCHY
92 select GENERIC_MSI_IRQ
93
Marc Zyngier76ba59f2014-08-26 11:03:16 +010094config HANDLE_DOMAIN_IRQ
95 bool
96
Daniel Lezcanob2d3d612017-06-23 16:11:07 +020097config IRQ_TIMINGS
98 bool
99
Thomas Gleixner2f75d9e2017-09-13 23:29:14 +0200100config GENERIC_IRQ_MATRIX_ALLOCATOR
101 bool
102
Thomas Gleixner2b5175c2017-10-17 09:54:57 +0200103config GENERIC_IRQ_RESERVATION_MODE
104 bool
105
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +0100106# Support forced irq threading
Thomas Gleixner8d32a302011-02-23 23:52:23 +0000107config IRQ_FORCED_THREADING
108 bool
109
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +0000110config SPARSE_IRQ
Rob Herring2ed86b12012-01-25 20:02:40 -0600111 bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +0000112 ---help---
113
114 Sparse irq numbering is useful for distro kernels that want
115 to define a high CONFIG_NR_CPUS value but still want to have
116 low kernel memory footprint on smaller machines.
117
118 ( Sparse irqs can also be beneficial on NUMA boxes, as they spread
119 out the interrupt descriptors in a more NUMA-friendly way. )
120
121 If you don't know what to do here, say N.
122
Thomas Gleixner087cdfb2017-06-20 01:37:17 +0200123config GENERIC_IRQ_DEBUGFS
124 bool "Expose irq internals in debugfs"
125 depends on DEBUG_FS
126 default n
127 ---help---
128
129 Exposes internal state information through debugfs. Mostly for
130 developers and debugging of hard to diagnose interrupt problems.
131
132 If you don't know what to do here, say N.
133
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +0000134endmenu
Palmer Dabbeltcaacdbf2018-03-07 15:57:27 -0800135
136config GENERIC_IRQ_MULTI_HANDLER
137 bool
138 help
139 Allow to specify the low level IRQ handler at run time.