blob: 9a76e3beda5423b7743f1d67a0945755b771c977 [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 Gleixner7b6ef122014-05-07 15:44:05 +000024# Facility to allocate a hardware interrupt. This is legacy support
25# and should not be used in new code. Use irq domains instead.
26config GENERIC_IRQ_LEGACY_ALLOC_HWIRQ
27 bool
28
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010029# Support for delayed migration from interrupt context
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000030config GENERIC_PENDING_IRQ
Jan Beulichfd4afaf2011-02-17 13:39:05 +000031 bool
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000032
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010033# Alpha specific irq affinity mechanism
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000034config AUTO_IRQ_AFFINITY
Jan Beulichfd4afaf2011-02-17 13:39:05 +000035 bool
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000036
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010037# Tasklet based software resend for pending interrupts on enable_irq()
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000038config HARDIRQS_SW_RESEND
Jan Beulichfd4afaf2011-02-17 13:39:05 +000039 bool
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000040
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010041# Preflow handler support for fasteoi (sparc64)
Thomas Gleixner78129572011-02-10 15:14:20 +010042config IRQ_PREFLOW_FASTEOI
Jan Beulichfd4afaf2011-02-17 13:39:05 +000043 bool
Thomas Gleixner78129572011-02-10 15:14:20 +010044
Thomas Gleixner0521c8f2011-03-28 16:13:24 +020045# Edge style eoi based handler (cell)
46config IRQ_EDGE_EOI_HANDLER
47 bool
48
Thomas Gleixnerc42321c2011-05-02 18:16:22 +020049# Generic configurable interrupt chip implementation
50config GENERIC_IRQ_CHIP
51 bool
Nitin A Kamble923fa4e2014-01-30 16:50:10 -080052 select IRQ_DOMAIN
Thomas Gleixnerc42321c2011-05-02 18:16:22 +020053
Grant Likely08a543a2011-07-26 03:19:06 -060054# Generic irq_domain hw <--> linux irq number translation
55config IRQ_DOMAIN
56 bool
57
Jiang Liuf8264e32014-11-06 22:20:14 +080058# Support for hierarchical irq domains
59config IRQ_DOMAIN_HIERARCHY
60 bool
61 select IRQ_DOMAIN
62
Jiang Liuf3cf8bb2014-11-12 11:39:03 +010063# Generic MSI interrupt support
64config GENERIC_MSI_IRQ
65 bool
66
67# Generic MSI hierarchical interrupt domain support
68config GENERIC_MSI_IRQ_DOMAIN
69 bool
70 select IRQ_DOMAIN_HIERARCHY
71 select GENERIC_MSI_IRQ
72
Marc Zyngier76ba59f2014-08-26 11:03:16 +010073config HANDLE_DOMAIN_IRQ
74 bool
75
Grant Likely092b2fb2012-03-29 14:10:30 -060076config IRQ_DOMAIN_DEBUG
77 bool "Expose hardware/virtual IRQ mapping via debugfs"
78 depends on IRQ_DOMAIN && DEBUG_FS
79 help
80 This option will show the mapping relationship between hardware irq
81 numbers and Linux irq numbers. The mapping is exposed via debugfs
Mika Westerbergac5830a2012-04-10 15:25:42 +030082 in the file "irq_domain_mapping".
Grant Likely092b2fb2012-03-29 14:10:30 -060083
84 If you don't know what this means you don't need it.
85
Thomas Gleixnerc68fd4f2011-03-08 19:52:55 +010086# Support forced irq threading
Thomas Gleixner8d32a302011-02-23 23:52:23 +000087config IRQ_FORCED_THREADING
88 bool
89
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000090config SPARSE_IRQ
Rob Herring2ed86b12012-01-25 20:02:40 -060091 bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
Thomas Gleixnerd9817eb2010-09-27 12:45:59 +000092 ---help---
93
94 Sparse irq numbering is useful for distro kernels that want
95 to define a high CONFIG_NR_CPUS value but still want to have
96 low kernel memory footprint on smaller machines.
97
98 ( Sparse irqs can also be beneficial on NUMA boxes, as they spread
99 out the interrupt descriptors in a more NUMA-friendly way. )
100
101 If you don't know what to do here, say N.
102
103endmenu