1STRUCT IRQ_DESC(9) Structures STRUCT IRQ_DESC(9)
2
3
4
6 struct_irq_desc - interrupt descriptor
7
9 struct irq_desc {
10 unsigned int irq;
11 struct timer_rand_state * timer_rand_state;
12 unsigned int * kstat_irqs;
13 #ifdef CONFIG_INTR_REMAP
14 struct irq_2_iommu * irq_2_iommu;
15 #endif
16 irq_flow_handler_t handle_irq;
17 struct irq_chip * chip;
18 struct msi_desc * msi_desc;
19 void * handler_data;
20 void * chip_data;
21 struct irqaction * action;
22 unsigned int status;
23 unsigned int depth;
24 unsigned int wake_depth;
25 unsigned int irq_count;
26 unsigned long last_unhandled;
27 unsigned int irqs_unhandled;
28 spinlock_t lock;
29 #ifdef CONFIG_SMP
30 cpumask_var_t affinity;
31 struct irq_affinity_notify * affinity_notify;
32 unsigned int node;
33 #ifdef CONFIG_GENERIC_PENDING_IRQ
34 cpumask_var_t pending_mask;
35 #endif
36 #endif
37 atomic_t threads_active;
38 wait_queue_head_t wait_for_threads;
39 #ifdef CONFIG_PROC_FS
40 struct proc_dir_entry * dir;
41 #endif
42 const char * name;
43 };
44
46 irq
47 interrupt number for this descriptor
48
49 timer_rand_state
50 pointer to timer rand state struct
51
52 kstat_irqs
53 irq stats per cpu
54
55 irq_2_iommu
56 iommu with this irq
57
58 handle_irq
59 highlevel irq-events handler [if NULL, __do_IRQ]
60
61 chip
62 low level interrupt hardware access
63
64 msi_desc
65 MSI descriptor
66
67 handler_data
68 per-IRQ data for the irq_chip methods
69
70 chip_data
71 platform-specific per-chip private data for the chip methods, to
72 allow shared chip implementations
73
74 action
75 the irq action chain
76
77 status
78 status information
79
80 depth
81 disable-depth, for nested irq_disable calls
82
83 wake_depth
84 enable depth, for multiple set_irq_wake callers
85
86 irq_count
87 stats field to detect stalled irqs
88
89 last_unhandled
90 aging timer for unhandled count
91
92 irqs_unhandled
93 stats field for spurious unhandled interrupts
94
95 lock
96 locking for SMP
97
98 affinity
99 IRQ affinity on SMP
100
101 affinity_notify
102 context for notification of affinity changes
103
104 node
105 node index useful for balancing
106
107 pending_mask
108 pending rebalanced interrupts
109
110 threads_active
111 number of irqaction threads currently running
112
113 wait_for_threads
114 wait queue for sync_irq to wait for threaded handlers
115
116 dir
117 /proc/irq/ procfs entry
118
119 name
120 flow handler name for /proc/interrupts output
121
123 Thomas Gleixner <tglx@linutronix.de>
124 Author.
125
126 Ingo Molnar <mingo@elte.hu>
127 Author.
128
130Kernel Hackers Manual 2.6. June 2019 STRUCT IRQ_DESC(9)