Home
last modified time | relevance | path

Searched refs:irq (Results 1 – 21 of 21) sorted by relevance

/kernel/irq/
Dmanage.c45 void synchronize_irq(unsigned int irq) in synchronize_irq() argument
47 struct irq_desc *desc = irq_to_desc(irq); in synchronize_irq()
87 int irq_can_set_affinity(unsigned int irq) in irq_can_set_affinity() argument
89 struct irq_desc *desc = irq_to_desc(irq); in irq_can_set_affinity()
196 int irq_set_affinity(unsigned int irq, const struct cpumask *mask) in irq_set_affinity() argument
198 struct irq_desc *desc = irq_to_desc(irq); in irq_set_affinity()
211 int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m) in irq_set_affinity_hint() argument
214 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); in irq_set_affinity_hint()
228 struct irq_desc *desc = irq_to_desc(notify->irq); in irq_affinity_notify()
261 irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify) in irq_set_affinity_notifier() argument
[all …]
Dirqdesc.c73 static void desc_set_defaults(unsigned int irq, struct irq_desc *desc, int node, in desc_set_defaults() argument
78 desc->irq_data.irq = irq; in desc_set_defaults()
106 static void irq_insert_desc(unsigned int irq, struct irq_desc *desc) in irq_insert_desc() argument
108 radix_tree_insert(&irq_desc_tree, irq, desc); in irq_insert_desc()
111 struct irq_desc *irq_to_desc(unsigned int irq) in irq_to_desc() argument
113 return radix_tree_lookup(&irq_desc_tree, irq); in irq_to_desc()
117 static void delete_irq_desc(unsigned int irq) in delete_irq_desc() argument
119 radix_tree_delete(&irq_desc_tree, irq); in delete_irq_desc()
134 static struct irq_desc *alloc_desc(int irq, int node, struct module *owner) in alloc_desc() argument
153 desc_set_defaults(irq, desc, node, owner); in alloc_desc()
[all …]
Dchip.c28 int irq_set_chip(unsigned int irq, struct irq_chip *chip) in irq_set_chip() argument
31 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in irq_set_chip()
46 irq_reserve_irq(irq); in irq_set_chip()
56 int irq_set_irq_type(unsigned int irq, unsigned int type) in irq_set_irq_type() argument
59 struct irq_desc *desc = irq_get_desc_buslock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); in irq_set_irq_type()
66 ret = __irq_set_trigger(desc, irq, type); in irq_set_irq_type()
79 int irq_set_handler_data(unsigned int irq, void *data) in irq_set_handler_data() argument
82 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in irq_set_handler_data()
110 entry->irq = irq_base; in irq_set_msi_desc_off()
122 int irq_set_msi_desc(unsigned int irq, struct msi_desc *entry) in irq_set_msi_desc() argument
[all …]
Dinternals.h63 extern int __irq_set_trigger(struct irq_desc *desc, unsigned int irq,
65 extern void __disable_irq(struct irq_desc *desc, unsigned int irq, bool susp);
66 extern void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume);
83 void check_irq_resend(struct irq_desc *desc, unsigned int irq);
87 extern void register_irq_proc(unsigned int irq, struct irq_desc *desc);
88 extern void unregister_irq_proc(unsigned int irq, struct irq_desc *desc);
89 extern void register_handler_proc(unsigned int irq, struct irqaction *action);
90 extern void unregister_handler_proc(unsigned int irq, struct irqaction *action);
92 static inline void register_irq_proc(unsigned int irq, struct irq_desc *desc) { } in register_irq_proc() argument
93 static inline void unregister_irq_proc(unsigned int irq, struct irq_desc *desc) { } in unregister_irq_proc() argument
[all …]
Dhandle.c30 void handle_bad_irq(unsigned int irq, struct irq_desc *desc) in handle_bad_irq() argument
32 print_irq_desc(irq, desc); in handle_bad_irq()
33 kstat_incr_irqs_this_cpu(irq, desc); in handle_bad_irq()
34 ack_bad_irq(irq); in handle_bad_irq()
45 static void warn_no_thread(unsigned int irq, struct irqaction *action) in warn_no_thread() argument
51 "but no thread function available.", irq, action->name); in warn_no_thread()
136 unsigned int flags = 0, irq = desc->irq_data.irq; in handle_irq_event_percpu() local
141 trace_irq_handler_entry(irq, action); in handle_irq_event_percpu()
142 res = action->handler(irq, action->dev_id); in handle_irq_event_percpu()
143 trace_irq_handler_exit(irq, action, res); in handle_irq_event_percpu()
[all …]
Dpm.c27 int irq; in suspend_device_irqs() local
29 for_each_irq_desc(irq, desc) { in suspend_device_irqs()
33 __disable_irq(desc, irq, true); in suspend_device_irqs()
37 for_each_irq_desc(irq, desc) in suspend_device_irqs()
39 synchronize_irq(irq); in suspend_device_irqs()
46 int irq; in resume_irqs() local
48 for_each_irq_desc(irq, desc) { in resume_irqs()
57 __enable_irq(desc, irq, true); in resume_irqs()
103 int irq; in check_wakeup_irqs() local
105 for_each_irq_desc(irq, desc) { in check_wakeup_irqs()
[all …]
Ddevres.c10 unsigned int irq; member
18 free_irq(this->irq, this->dev_id); in devm_irq_release()
25 return this->irq == match->irq && this->dev_id == match->dev_id; in devm_irq_match()
47 int devm_request_threaded_irq(struct device *dev, unsigned int irq, in devm_request_threaded_irq() argument
60 rc = request_threaded_irq(irq, handler, thread_fn, irqflags, devname, in devm_request_threaded_irq()
67 dr->irq = irq; in devm_request_threaded_irq()
86 void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id) in devm_free_irq() argument
88 struct irq_devres match_data = { irq, dev_id }; in devm_free_irq()
92 free_irq(irq, dev_id); in devm_free_irq()
Dspurious.c42 smp_processor_id(), desc->irq_data.irq)) in irq_wait_for_poll()
63 static int try_one_irq(int irq, struct irq_desc *desc, bool force) in try_one_irq() argument
114 static int misrouted_irq(int irq) in misrouted_irq() argument
128 if (i == irq) /* Already tried */ in misrouted_irq()
187 __report_bad_irq(unsigned int irq, struct irq_desc *desc, in __report_bad_irq() argument
195 irq, action_ret); in __report_bad_irq()
198 "the \"irqpoll\" option)\n", irq); in __report_bad_irq()
223 report_bad_irq(unsigned int irq, struct irq_desc *desc, irqreturn_t action_ret) in report_bad_irq() argument
229 __report_bad_irq(irq, desc, action_ret); in report_bad_irq()
234 try_misrouted_irq(unsigned int irq, struct irq_desc *desc, in try_misrouted_irq() argument
[all …]
Dproc.c79 unsigned int irq = (int)(long)PDE_DATA(file_inode(file)); in write_irq_affinity() local
83 if (!irq_can_set_affinity(irq) || no_irq_affinity) in write_irq_affinity()
109 err = irq_select_affinity_usr(irq, new_value) ? -EINVAL : count; in write_irq_affinity()
111 irq_set_affinity(irq, new_value); in write_irq_affinity()
271 static int name_unique(unsigned int irq, struct irqaction *new_action) in name_unique() argument
273 struct irq_desc *desc = irq_to_desc(irq); in name_unique()
290 void register_handler_proc(unsigned int irq, struct irqaction *action) in register_handler_proc() argument
293 struct irq_desc *desc = irq_to_desc(irq); in register_handler_proc()
296 !name_unique(irq, action)) in register_handler_proc()
310 void register_irq_proc(unsigned int irq, struct irq_desc *desc) in register_irq_proc() argument
[all …]
Dresend.c34 int irq; in resend_irqs() local
37 irq = find_first_bit(irqs_resend, nr_irqs); in resend_irqs()
38 clear_bit(irq, irqs_resend); in resend_irqs()
39 desc = irq_to_desc(irq); in resend_irqs()
41 desc->handle_irq(irq, desc); in resend_irqs()
56 void check_irq_resend(struct irq_desc *desc, unsigned int irq) in check_irq_resend() argument
84 irq = desc->parent_irq; in check_irq_resend()
86 set_bit(irq, irqs_resend); in check_irq_resend()
DKconfig1 # Select this to activate the generic irq options below
15 # Make sparse irq Kconfig switch below available
19 # Enable the generic irq autoprobe mechanism
35 # Alpha specific irq affinity mechanism
55 # Generic irq_domain hw <--> linux irq number translation
63 This option will show the mapping relationship between hardware irq
64 numbers and Linux irq numbers. The mapping is exposed via debugfs
69 # Support forced irq threading
74 bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
77 Sparse irq numbering is useful for distro kernels that want
Dgeneric-chip.c42 u32 mask = 1 << (d->irq - gc->irq_base); in irq_gc_mask_disable_reg()
60 u32 mask = 1 << (d->irq - gc->irq_base); in irq_gc_mask_set_bit()
78 u32 mask = 1 << (d->irq - gc->irq_base); in irq_gc_mask_clr_bit()
96 u32 mask = 1 << (d->irq - gc->irq_base); in irq_gc_unmask_enable_reg()
111 u32 mask = 1 << (d->irq - gc->irq_base); in irq_gc_ack_set_bit()
125 u32 mask = ~(1 << (d->irq - gc->irq_base)); in irq_gc_ack_clr_bit()
139 u32 mask = 1 << (d->irq - gc->irq_base); in irq_gc_mask_disable_reg_and_ack()
154 u32 mask = 1 << (d->irq - gc->irq_base); in irq_gc_eoi()
172 u32 mask = 1 << (d->irq - gc->irq_base); in irq_gc_set_wake()
Dirqdomain.c235 int irq = first_irq + i; in irq_domain_add_legacy() local
236 struct irq_data *irq_data = irq_get_irq_data(irq); in irq_domain_add_legacy()
254 int irq = first_irq + i; in irq_domain_add_legacy() local
258 if (!irq) in irq_domain_add_legacy()
266 ops->map(domain, irq, hwirq); in irq_domain_add_legacy()
269 irq_clear_status_flags(irq, IRQ_NOREQUEST); in irq_domain_add_legacy()
402 int irq = irq_base + count; in irq_domain_disassociate_many() local
403 struct irq_data *irq_data = irq_get_irq_data(irq); in irq_domain_disassociate_many()
410 irq_set_status_flags(irq, IRQ_NOREQUEST); in irq_domain_disassociate_many()
413 irq_set_chip_and_handler(irq, NULL, NULL); in irq_domain_disassociate_many()
[all …]
Ddummychip.c21 print_irq_desc(data->irq, desc); in ack_bad()
22 ack_bad_irq(data->irq); in ack_bad()
Ddebug.h12 static inline void print_irq_desc(unsigned int irq, struct irq_desc *desc) in print_irq_desc() argument
15 irq, desc, desc->depth, desc->irq_count, desc->irqs_unhandled); in print_irq_desc()
/kernel/power/
Dwakeup_reason.c103 void log_wakeup_reason(int irq) in log_wakeup_reason() argument
106 desc = irq_to_desc(irq); in log_wakeup_reason()
108 printk(KERN_INFO "Resume caused by IRQ %d, %s\n", irq, in log_wakeup_reason()
111 printk(KERN_INFO "Resume caused by IRQ %d\n", irq); in log_wakeup_reason()
121 irq_list[irqcount++] = irq; in log_wakeup_reason()
125 int check_wakeup_reason(int irq) in check_wakeup_reason() argument
132 if (irq_list[irq_no] == irq) { in check_wakeup_reason()
/kernel/time/
Dtick-common.c191 irq_set_affinity(newdev->irq, cpumask); in tick_setup_device()
234 if (!irq_can_set_affinity(newdev->irq)) in tick_check_new_device()
Dtick-broadcast.c446 irq_set_affinity(bc->irq, bc->cpumask); in tick_broadcast_set_affinity()
/kernel/trace/
Dtrace_mmiotrace.c72 dev->vendor, dev->device, dev->irq); in mmio_print_pcidev()
DKconfig277 or irq latency tracers are enabled, as those need to swap as well
/kernel/
DMakefile82 obj-$(CONFIG_GENERIC_HARDIRQS) += irq/