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