Lines Matching refs:irq

75 bool synchronize_hardirq(unsigned int irq)  in synchronize_hardirq()  argument
77 struct irq_desc *desc = irq_to_desc(irq); in synchronize_hardirq()
98 void synchronize_irq(unsigned int irq) in synchronize_irq() argument
100 struct irq_desc *desc = irq_to_desc(irq); in synchronize_irq()
131 int irq_can_set_affinity(unsigned int irq) in irq_can_set_affinity() argument
133 return __irq_can_set_affinity(irq_to_desc(irq)); in irq_can_set_affinity()
230 int __irq_set_affinity(unsigned int irq, const struct cpumask *mask, bool force) in __irq_set_affinity() argument
232 struct irq_desc *desc = irq_to_desc(irq); in __irq_set_affinity()
245 int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m) in irq_set_affinity_hint() argument
248 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); in irq_set_affinity_hint()
256 __irq_set_affinity(irq, m, false); in irq_set_affinity_hint()
265 struct irq_desc *desc = irq_to_desc(notify->irq); in irq_affinity_notify()
298 irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify) in irq_set_affinity_notifier() argument
300 struct irq_desc *desc = irq_to_desc(irq); in irq_set_affinity_notifier()
312 notify->irq = irq; in irq_set_affinity_notifier()
376 int irq_select_affinity_usr(unsigned int irq, struct cpumask *mask) in irq_select_affinity_usr() argument
378 struct irq_desc *desc = irq_to_desc(irq); in irq_select_affinity_usr()
406 int irq_set_vcpu_affinity(unsigned int irq, void *vcpu_info) in irq_set_vcpu_affinity() argument
409 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in irq_set_vcpu_affinity()
433 static int __disable_irq_nosync(unsigned int irq) in __disable_irq_nosync() argument
436 struct irq_desc *desc = irq_get_desc_buslock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); in __disable_irq_nosync()
456 void disable_irq_nosync(unsigned int irq) in disable_irq_nosync() argument
458 __disable_irq_nosync(irq); in disable_irq_nosync()
474 void disable_irq(unsigned int irq) in disable_irq() argument
476 if (!__disable_irq_nosync(irq)) in disable_irq()
477 synchronize_irq(irq); in disable_irq()
498 bool disable_hardirq(unsigned int irq) in disable_hardirq() argument
500 if (!__disable_irq_nosync(irq)) in disable_hardirq()
501 return synchronize_hardirq(irq); in disable_hardirq()
540 void enable_irq(unsigned int irq) in enable_irq() argument
543 struct irq_desc *desc = irq_get_desc_buslock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); in enable_irq()
548 KERN_ERR "enable_irq before setup/request_irq: irq %u\n", irq)) in enable_irq()
557 static int set_irq_wake_real(unsigned int irq, unsigned int on) in set_irq_wake_real() argument
559 struct irq_desc *desc = irq_to_desc(irq); in set_irq_wake_real()
583 int irq_set_irq_wake(unsigned int irq, unsigned int on) in irq_set_irq_wake() argument
586 struct irq_desc *desc = irq_get_desc_buslock(irq, &flags, IRQ_GET_DESC_CHECK_GLOBAL); in irq_set_irq_wake()
597 ret = set_irq_wake_real(irq, on); in irq_set_irq_wake()
605 WARN(1, "Unbalanced IRQ %d wake disable\n", irq); in irq_set_irq_wake()
607 ret = set_irq_wake_real(irq, on); in irq_set_irq_wake()
624 int can_request_irq(unsigned int irq, unsigned long irqflags) in can_request_irq() argument
627 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in can_request_irq()
698 int irq_set_parent(int irq, int parent_irq) in irq_set_parent() argument
701 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, 0); in irq_set_parent()
718 static irqreturn_t irq_default_primary_handler(int irq, void *dev_id) in irq_default_primary_handler() argument
727 static irqreturn_t irq_nested_primary_handler(int irq, void *dev_id) in irq_nested_primary_handler() argument
729 WARN(1, "Primary handler called for nested irq %d\n", irq); in irq_nested_primary_handler()
733 static irqreturn_t irq_forced_secondary_handler(int irq, void *dev_id) in irq_forced_secondary_handler() argument
735 WARN(1, "Secondary action handler called for irq %d\n", irq); in irq_forced_secondary_handler()
866 ret = action->thread_fn(action->irq, action->dev_id); in irq_forced_thread_fn()
882 ret = action->thread_fn(action->irq, action->dev_id); in irq_thread_fn()
905 tsk->comm, tsk->pid, action->irq); in irq_thread_dtor()
908 desc = irq_to_desc(action->irq); in irq_thread_dtor()
939 struct irq_desc *desc = irq_to_desc(action->irq); in irq_thread()
987 void irq_wake_thread(unsigned int irq, void *dev_id) in irq_wake_thread() argument
989 struct irq_desc *desc = irq_to_desc(irq); in irq_wake_thread()
1030 new->secondary->irq = new->irq; in irq_setup_forced_threading()
1058 setup_irq_thread(struct irqaction *new, unsigned int irq, bool secondary) in setup_irq_thread() argument
1066 t = kthread_create(irq_thread, new, "irq/%d-%s", irq, in setup_irq_thread()
1069 t = kthread_create(irq_thread, new, "irq/%d-s-%s", irq, in setup_irq_thread()
1104 __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) in __setup_irq() argument
1119 new->irq = irq; in __setup_irq()
1151 ret = setup_irq_thread(new, irq, false); in __setup_irq()
1155 ret = setup_irq_thread(new->secondary, irq, true); in __setup_irq()
1270 irq); in __setup_irq()
1279 new->name, irq, desc->irq_data.chip->name); in __setup_irq()
1328 irq, nmsk, omsk); in __setup_irq()
1359 register_irq_proc(irq, desc); in __setup_irq()
1361 register_handler_proc(irq, new); in __setup_irq()
1369 irq, new->flags, new->name, old->flags, old->name); in __setup_irq()
1407 int setup_irq(unsigned int irq, struct irqaction *act) in setup_irq() argument
1410 struct irq_desc *desc = irq_to_desc(irq); in setup_irq()
1415 retval = __setup_irq(irq, desc, act); in setup_irq()
1426 static struct irqaction *__free_irq(unsigned int irq, void *dev_id) in __free_irq() argument
1428 struct irq_desc *desc = irq_to_desc(irq); in __free_irq()
1432 WARN(in_interrupt(), "Trying to free IRQ %d from IRQ context!\n", irq); in __free_irq()
1449 WARN(1, "Trying to free already-free IRQ %d\n", irq); in __free_irq()
1481 unregister_handler_proc(irq, action); in __free_irq()
1484 synchronize_irq(irq); in __free_irq()
1497 action->handler(irq, dev_id); in __free_irq()
1523 void remove_irq(unsigned int irq, struct irqaction *act) in remove_irq() argument
1525 struct irq_desc *desc = irq_to_desc(irq); in remove_irq()
1528 __free_irq(irq, act->dev_id); in remove_irq()
1546 void free_irq(unsigned int irq, void *dev_id) in free_irq() argument
1548 struct irq_desc *desc = irq_to_desc(irq); in free_irq()
1558 kfree(__free_irq(irq, dev_id)); in free_irq()
1604 int request_threaded_irq(unsigned int irq, irq_handler_t handler, in request_threaded_irq() argument
1626 desc = irq_to_desc(irq); in request_threaded_irq()
1651 retval = __setup_irq(irq, desc, action); in request_threaded_irq()
1669 disable_irq(irq); in request_threaded_irq()
1672 handler(irq, dev_id); in request_threaded_irq()
1675 enable_irq(irq); in request_threaded_irq()
1699 int request_any_context_irq(unsigned int irq, irq_handler_t handler, in request_any_context_irq() argument
1702 struct irq_desc *desc = irq_to_desc(irq); in request_any_context_irq()
1709 ret = request_threaded_irq(irq, NULL, handler, in request_any_context_irq()
1714 ret = request_irq(irq, handler, flags, name, dev_id); in request_any_context_irq()
1719 void enable_percpu_irq(unsigned int irq, unsigned int type) in enable_percpu_irq() argument
1723 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, IRQ_GET_DESC_CHECK_PERCPU); in enable_percpu_irq()
1735 WARN(1, "failed to set type for IRQ%d\n", irq); in enable_percpu_irq()
1746 void disable_percpu_irq(unsigned int irq) in disable_percpu_irq() argument
1750 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, IRQ_GET_DESC_CHECK_PERCPU); in disable_percpu_irq()
1763 static struct irqaction *__free_percpu_irq(unsigned int irq, void __percpu *dev_id) in __free_percpu_irq() argument
1765 struct irq_desc *desc = irq_to_desc(irq); in __free_percpu_irq()
1769 WARN(in_interrupt(), "Trying to free IRQ %d from IRQ context!\n", irq); in __free_percpu_irq()
1778 WARN(1, "Trying to free already-free IRQ %d\n", irq); in __free_percpu_irq()
1784 irq, cpumask_first(desc->percpu_enabled)); in __free_percpu_irq()
1793 unregister_handler_proc(irq, action); in __free_percpu_irq()
1810 void remove_percpu_irq(unsigned int irq, struct irqaction *act) in remove_percpu_irq() argument
1812 struct irq_desc *desc = irq_to_desc(irq); in remove_percpu_irq()
1815 __free_percpu_irq(irq, act->percpu_dev_id); in remove_percpu_irq()
1830 void free_percpu_irq(unsigned int irq, void __percpu *dev_id) in free_percpu_irq() argument
1832 struct irq_desc *desc = irq_to_desc(irq); in free_percpu_irq()
1838 kfree(__free_percpu_irq(irq, dev_id)); in free_percpu_irq()
1850 int setup_percpu_irq(unsigned int irq, struct irqaction *act) in setup_percpu_irq() argument
1852 struct irq_desc *desc = irq_to_desc(irq); in setup_percpu_irq()
1858 retval = __setup_irq(irq, desc, act); in setup_percpu_irq()
1880 int request_percpu_irq(unsigned int irq, irq_handler_t handler, in request_percpu_irq() argument
1890 desc = irq_to_desc(irq); in request_percpu_irq()
1905 retval = __setup_irq(irq, desc, action); in request_percpu_irq()
1928 int irq_get_irqchip_state(unsigned int irq, enum irqchip_irq_state which, in irq_get_irqchip_state() argument
1937 desc = irq_get_desc_buslock(irq, &flags, 0); in irq_get_irqchip_state()
1974 int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which, in irq_set_irqchip_state() argument
1983 desc = irq_get_desc_buslock(irq, &flags, 0); in irq_set_irqchip_state()