1STRUCT IRQ_DESC(9)                Structures                STRUCT IRQ_DESC(9)
2
3
4

NAME

6       struct_irq_desc - interrupt descriptor
7

SYNOPSIS

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

MEMBERS

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

AUTHORS

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)
Impressum