Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menu "IRQ subsystem"
0003 # Options selectable by the architecture code
0004 
0005 # Make sparse irq Kconfig switch below available
0006 config MAY_HAVE_SPARSE_IRQ
0007        bool
0008 
0009 # Legacy support, required for itanic
0010 config GENERIC_IRQ_LEGACY
0011        bool
0012 
0013 # Enable the generic irq autoprobe mechanism
0014 config GENERIC_IRQ_PROBE
0015         bool
0016 
0017 # Use the generic /proc/interrupts implementation
0018 config GENERIC_IRQ_SHOW
0019        bool
0020 
0021 # Print level/edge extra information
0022 config GENERIC_IRQ_SHOW_LEVEL
0023        bool
0024 
0025 # Supports effective affinity mask
0026 config GENERIC_IRQ_EFFECTIVE_AFF_MASK
0027        depends on SMP
0028        bool
0029 
0030 # Support for delayed migration from interrupt context
0031 config GENERIC_PENDING_IRQ
0032         bool
0033 
0034 # Support for generic irq migrating off cpu before the cpu is offline.
0035 config GENERIC_IRQ_MIGRATION
0036         bool
0037 
0038 # Alpha specific irq affinity mechanism
0039 config AUTO_IRQ_AFFINITY
0040        bool
0041 
0042 # Interrupt injection mechanism
0043 config GENERIC_IRQ_INJECTION
0044         bool
0045 
0046 # Tasklet based software resend for pending interrupts on enable_irq()
0047 config HARDIRQS_SW_RESEND
0048        bool
0049 
0050 # Edge style eoi based handler (cell)
0051 config IRQ_EDGE_EOI_HANDLER
0052        bool
0053 
0054 # Generic configurable interrupt chip implementation
0055 config GENERIC_IRQ_CHIP
0056        bool
0057        select IRQ_DOMAIN
0058 
0059 # Generic irq_domain hw <--> linux irq number translation
0060 config IRQ_DOMAIN
0061         bool
0062 
0063 # Support for simulated interrupts
0064 config IRQ_SIM
0065         bool
0066         select IRQ_WORK
0067         select IRQ_DOMAIN
0068 
0069 # Support for hierarchical irq domains
0070 config IRQ_DOMAIN_HIERARCHY
0071         bool
0072         select IRQ_DOMAIN
0073 
0074 # Support for obsolete non-mapping irq domains
0075 config IRQ_DOMAIN_NOMAP
0076         bool
0077         select IRQ_DOMAIN
0078 
0079 # Support for hierarchical fasteoi+edge and fasteoi+level handlers
0080 config IRQ_FASTEOI_HIERARCHY_HANDLERS
0081         bool
0082 
0083 # Generic IRQ IPI support
0084 config GENERIC_IRQ_IPI
0085         bool
0086         depends on SMP
0087         select IRQ_DOMAIN_HIERARCHY
0088 
0089 # Generic MSI interrupt support
0090 config GENERIC_MSI_IRQ
0091         bool
0092 
0093 # Generic MSI hierarchical interrupt domain support
0094 config GENERIC_MSI_IRQ_DOMAIN
0095         bool
0096         select IRQ_DOMAIN_HIERARCHY
0097         select GENERIC_MSI_IRQ
0098 
0099 config IRQ_MSI_IOMMU
0100         bool
0101 
0102 config IRQ_TIMINGS
0103         bool
0104 
0105 config GENERIC_IRQ_MATRIX_ALLOCATOR
0106         bool
0107 
0108 config GENERIC_IRQ_RESERVATION_MODE
0109         bool
0110 
0111 # Support forced irq threading
0112 config IRQ_FORCED_THREADING
0113        bool
0114 
0115 config SPARSE_IRQ
0116         bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
0117         help
0118 
0119           Sparse irq numbering is useful for distro kernels that want
0120           to define a high CONFIG_NR_CPUS value but still want to have
0121           low kernel memory footprint on smaller machines.
0122 
0123           ( Sparse irqs can also be beneficial on NUMA boxes, as they spread
0124             out the interrupt descriptors in a more NUMA-friendly way. )
0125 
0126           If you don't know what to do here, say N.
0127 
0128 config GENERIC_IRQ_DEBUGFS
0129         bool "Expose irq internals in debugfs"
0130         depends on DEBUG_FS
0131         select GENERIC_IRQ_INJECTION
0132         default n
0133         help
0134 
0135           Exposes internal state information through debugfs. Mostly for
0136           developers and debugging of hard to diagnose interrupt problems.
0137 
0138           If you don't know what to do here, say N.
0139 
0140 endmenu
0141 
0142 config GENERIC_IRQ_MULTI_HANDLER
0143         bool
0144         help
0145           Allow to specify the low level IRQ handler at run time.
0146 
0147 # Cavium Octeon is the last system to use this deprecated option
0148 # Do not even think of enabling this on any new platform
0149 config DEPRECATED_IRQ_CPU_ONOFFLINE
0150         bool
0151         depends on CAVIUM_OCTEON_SOC
0152         default CAVIUM_OCTEON_SOC