Home
last modified time | relevance | path

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

12345678910>>...48

/linux-4.19.296/drivers/irqchip/
DMakefile4 obj-$(CONFIG_ALPINE_MSI) += irq-alpine-msi.o
5 obj-$(CONFIG_ATH79) += irq-ath79-cpu.o
6 obj-$(CONFIG_ATH79) += irq-ath79-misc.o
7 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o
8 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o
10 obj-$(CONFIG_FARADAY_FTINTC010) += irq-ftintc010.o
11 obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o
12 obj-$(CONFIG_ARCH_LPC32XX) += irq-lpc32xx.o
13 obj-$(CONFIG_ARCH_MMP) += irq-mmp.o
14 obj-$(CONFIG_IRQ_MXS) += irq-mxs.o
[all …]
Dirq-i8259.c70 unsigned int mask, irq = d->irq - I8259A_IRQ_BASE; in disable_8259A_irq() local
73 mask = 1 << irq; in disable_8259A_irq()
76 if (irq & 8) in disable_8259A_irq()
85 unsigned int mask, irq = d->irq - I8259A_IRQ_BASE; in enable_8259A_irq() local
88 mask = ~(1 << irq); in enable_8259A_irq()
91 if (irq & 8) in enable_8259A_irq()
98 void make_8259A_irq(unsigned int irq) in make_8259A_irq() argument
100 disable_irq_nosync(irq); in make_8259A_irq()
101 irq_set_chip_and_handler(irq, &i8259A_chip, handle_level_irq); in make_8259A_irq()
102 enable_irq(irq); in make_8259A_irq()
[all …]
Dirq-ath79-cpu.c40 int irq; in plat_irq_dispatch() local
51 irq = fls(pending) - 1; in plat_irq_dispatch()
52 if (irq < ARRAY_SIZE(irq_wb_chan) && irq_wb_chan[irq] != -1) in plat_irq_dispatch()
53 ath79_ddr_wb_flush(irq_wb_chan[irq]); in plat_irq_dispatch()
54 do_IRQ(MIPS_CPU_IRQ_BASE + irq); in plat_irq_dispatch()
55 pending &= ~BIT(irq); in plat_irq_dispatch()
70 u32 irq = i; in ar79_cpu_intc_of_init() local
73 node, "qca,ddr-wb-channel-interrupts", i, &irq); in ar79_cpu_intc_of_init()
74 if (irq >= ARRAY_SIZE(irq_wb_chan)) in ar79_cpu_intc_of_init()
84 irq_wb_chan[irq] = args.args[0]; in ar79_cpu_intc_of_init()
Dirq-mmp.c73 hwirq = d->irq - data->virq_base; in icu_mask_ack_irq()
97 hwirq = d->irq - data->virq_base; in icu_mask_irq()
116 hwirq = d->irq - data->virq_base; in icu_unmask_irq()
137 unsigned int irq = irq_desc_get_irq(desc); in icu_mux_irq_demux() local
144 if (irq == icu_data[i].cascade_irq) { in icu_mux_irq_demux()
151 pr_err("Spurious irq %d in MMP INTC\n", irq); in icu_mux_irq_demux()
166 static int mmp_irq_domain_map(struct irq_domain *d, unsigned int irq, in mmp_irq_domain_map() argument
169 irq_set_chip_and_handler(irq, &icu_irq_chip, handle_level_irq); in mmp_irq_domain_map()
225 int irq; in icu_init_irq() local
237 for (irq = 0; irq < 64; irq++) { in icu_init_irq()
[all …]
/linux-4.19.296/drivers/misc/ocxl/
Dafu_irq.c30 struct afu_irq *irq = (struct afu_irq *) data; in afu_irq_handler() local
33 if (irq->ev_ctx) in afu_irq_handler()
34 eventfd_signal(irq->ev_ctx, 1); in afu_irq_handler()
38 static int setup_afu_irq(struct ocxl_context *ctx, struct afu_irq *irq) in setup_afu_irq() argument
42 irq->virq = irq_create_mapping(NULL, irq->hw_irq); in setup_afu_irq()
43 if (!irq->virq) { in setup_afu_irq()
47 pr_debug("hw_irq %d mapped to virq %u\n", irq->hw_irq, irq->virq); in setup_afu_irq()
49 irq->name = kasprintf(GFP_KERNEL, "ocxl-afu-%u", irq->virq); in setup_afu_irq()
50 if (!irq->name) { in setup_afu_irq()
51 irq_dispose_mapping(irq->virq); in setup_afu_irq()
[all …]
/linux-4.19.296/virt/kvm/arm/vgic/
Dvgic.c72 struct vgic_irq *irq = NULL; in vgic_get_lpi() local
77 list_for_each_entry(irq, &dist->lpi_list_head, lpi_list) { in vgic_get_lpi()
78 if (irq->intid != intid) in vgic_get_lpi()
85 vgic_get_irq_kref(irq); in vgic_get_lpi()
88 irq = NULL; in vgic_get_lpi()
93 return irq; in vgic_get_lpi()
133 void vgic_put_irq(struct kvm *kvm, struct vgic_irq *irq) in vgic_put_irq() argument
138 if (irq->intid < VGIC_MIN_LPI) in vgic_put_irq()
142 if (!kref_put(&irq->refcount, vgic_irq_release)) { in vgic_put_irq()
147 list_del(&irq->lpi_list); in vgic_put_irq()
[all …]
Dvgic-mmio.c59 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_group() local
61 if (irq->group) in vgic_mmio_read_group()
64 vgic_put_irq(vcpu->kvm, irq); in vgic_mmio_read_group()
78 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_write_group() local
80 spin_lock_irqsave(&irq->irq_lock, flags); in vgic_mmio_write_group()
81 irq->group = !!(val & BIT(i)); in vgic_mmio_write_group()
82 vgic_queue_irq_unlock(vcpu->kvm, irq, flags); in vgic_mmio_write_group()
84 vgic_put_irq(vcpu->kvm, irq); in vgic_mmio_write_group()
101 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i); in vgic_mmio_read_enable() local
103 if (irq->enabled) in vgic_mmio_read_enable()
[all …]
Dvgic-v4.c95 static irqreturn_t vgic_v4_doorbell_handler(int irq, void *info) in vgic_v4_doorbell_handler() argument
149 int irq = dist->its_vm.vpes[i]->irq; in vgic_v4_init() local
158 irq_set_status_flags(irq, DB_IRQ_FLAGS); in vgic_v4_init()
159 ret = request_irq(irq, vgic_v4_doorbell_handler, in vgic_v4_init()
162 kvm_err("failed to allocate vcpu IRQ%d\n", irq); in vgic_v4_init()
194 int irq = its_vm->vpes[i]->irq; in vgic_v4_teardown() local
196 irq_clear_status_flags(irq, DB_IRQ_FLAGS); in vgic_v4_teardown()
197 free_irq(irq, vcpu); in vgic_v4_teardown()
216 int irq = vcpu->arch.vgic_cpu.vgic_v3.its_vpe.irq; in vgic_v4_flush_hwstate() local
228 err = irq_set_affinity(irq, cpumask_of(smp_processor_id())); in vgic_v4_flush_hwstate()
[all …]
Dvgic-v3.c57 struct vgic_irq *irq; in vgic_v3_fold_lr_state() local
75 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v3_fold_lr_state()
76 if (!irq) /* An LPI could have been unmapped. */ in vgic_v3_fold_lr_state()
79 spin_lock(&irq->irq_lock); in vgic_v3_fold_lr_state()
82 irq->active = !!(val & ICH_LR_ACTIVE_BIT); in vgic_v3_fold_lr_state()
84 if (irq->active && is_v2_sgi) in vgic_v3_fold_lr_state()
85 irq->active_source = cpuid; in vgic_v3_fold_lr_state()
88 if (irq->config == VGIC_CONFIG_EDGE && in vgic_v3_fold_lr_state()
90 irq->pending_latch = true; in vgic_v3_fold_lr_state()
93 irq->source |= (1 << cpuid); in vgic_v3_fold_lr_state()
[all …]
Dvgic-debug.c172 static void print_header(struct seq_file *s, struct vgic_irq *irq, in print_header() argument
188 static void print_irq_state(struct seq_file *s, struct vgic_irq *irq, in print_irq_state() argument
192 if (irq->intid < VGIC_NR_SGIS) in print_irq_state()
194 else if (irq->intid < VGIC_NR_PRIVATE_IRQS) in print_irq_state()
196 else if (irq->intid < VGIC_MAX_SPI) in print_irq_state()
201 if (irq->intid ==0 || irq->intid == VGIC_NR_PRIVATE_IRQS) in print_irq_state()
202 print_header(s, irq, vcpu); in print_irq_state()
213 type, irq->intid, in print_irq_state()
214 (irq->target_vcpu) ? irq->target_vcpu->vcpu_id : -1, in print_irq_state()
215 irq->pending_latch, in print_irq_state()
[all …]
Dvgic-v2.c73 struct vgic_irq *irq; in vgic_v2_fold_lr_state() local
85 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in vgic_v2_fold_lr_state()
87 spin_lock(&irq->irq_lock); in vgic_v2_fold_lr_state()
90 irq->active = !!(val & GICH_LR_ACTIVE_BIT); in vgic_v2_fold_lr_state()
92 if (irq->active && vgic_irq_is_sgi(intid)) in vgic_v2_fold_lr_state()
93 irq->active_source = cpuid; in vgic_v2_fold_lr_state()
96 if (irq->config == VGIC_CONFIG_EDGE && in vgic_v2_fold_lr_state()
98 irq->pending_latch = true; in vgic_v2_fold_lr_state()
101 irq->source |= (1 << cpuid); in vgic_v2_fold_lr_state()
107 if (irq->config == VGIC_CONFIG_LEVEL && !(val & GICH_LR_STATE)) in vgic_v2_fold_lr_state()
[all …]
Dvgic.h113 static inline bool irq_is_pending(struct vgic_irq *irq) in irq_is_pending() argument
115 if (irq->config == VGIC_CONFIG_EDGE) in irq_is_pending()
116 return irq->pending_latch; in irq_is_pending()
118 return irq->pending_latch || irq->line_level; in irq_is_pending()
121 static inline bool vgic_irq_is_mapped_level(struct vgic_irq *irq) in vgic_irq_is_mapped_level() argument
123 return irq->config == VGIC_CONFIG_LEVEL && irq->hw; in vgic_irq_is_mapped_level()
126 static inline int vgic_irq_get_lr_count(struct vgic_irq *irq) in vgic_irq_get_lr_count() argument
129 if (vgic_irq_is_sgi(irq->intid) && irq->source) in vgic_irq_get_lr_count()
130 return hweight8(irq->source) + irq->active; in vgic_irq_get_lr_count()
132 return irq_is_pending(irq) || irq->active; in vgic_irq_get_lr_count()
[all …]
/linux-4.19.296/include/linux/
Dirqnr.h9 extern struct irq_desc *irq_to_desc(unsigned int irq);
12 # define for_each_irq_desc(irq, desc) \ argument
13 for (irq = 0, desc = irq_to_desc(irq); irq < nr_irqs; \
14 irq++, desc = irq_to_desc(irq)) \
20 # define for_each_irq_desc_reverse(irq, desc) \ argument
21 for (irq = nr_irqs - 1, desc = irq_to_desc(irq); irq >= 0; \
22 irq--, desc = irq_to_desc(irq)) \
27 # define for_each_active_irq(irq) \ argument
28 for (irq = irq_get_next_irq(0); irq < nr_irqs; \
29 irq = irq_get_next_irq(irq + 1))
[all …]
Dinterrupt.h118 unsigned int irq; member
139 request_threaded_irq(unsigned int irq, irq_handler_t handler,
144 request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, in request_irq() argument
147 return request_threaded_irq(irq, handler, NULL, flags, name, dev); in request_irq()
151 request_any_context_irq(unsigned int irq, irq_handler_t handler,
155 __request_percpu_irq(unsigned int irq, irq_handler_t handler,
160 request_percpu_irq(unsigned int irq, irq_handler_t handler, in request_percpu_irq() argument
163 return __request_percpu_irq(irq, handler, 0, in request_percpu_irq()
173 devm_request_threaded_irq(struct device *dev, unsigned int irq,
179 devm_request_irq(struct device *dev, unsigned int irq, irq_handler_t handler, in devm_request_irq() argument
[all …]
Dirq.h174 unsigned int irq; member
570 extern int setup_irq(unsigned int irq, struct irqaction *new);
571 extern void remove_irq(unsigned int irq, struct irqaction *act);
572 extern int setup_percpu_irq(unsigned int irq, struct irqaction *new);
573 extern void remove_percpu_irq(unsigned int irq, struct irqaction *act);
579 extern int irq_set_vcpu_affinity(unsigned int irq, void *vcpu_info);
606 int irq_set_parent(int irq, int parent_irq);
608 static inline int irq_set_parent(int irq, int parent_irq) in irq_set_parent() argument
627 extern void handle_nested_irq(unsigned int irq);
659 extern int can_request_irq(unsigned int irq, unsigned long irqflags);
[all …]
/linux-4.19.296/drivers/xen/events/
Devents_base.c106 static bool (*pirq_needs_eoi)(unsigned irq);
145 static int set_evtchn_to_irq(unsigned evtchn, unsigned irq) in set_evtchn_to_irq() argument
159 if (irq == -1) in set_evtchn_to_irq()
176 WRITE_ONCE(evtchn_to_irq[row][col], irq); in set_evtchn_to_irq()
190 struct irq_info *info_for_irq(unsigned irq) in info_for_irq() argument
192 if (irq < nr_legacy_irqs()) in info_for_irq()
193 return legacy_info_ptrs[irq]; in info_for_irq()
195 return irq_get_chip_data(irq); in info_for_irq()
198 static void set_info_for_irq(unsigned int irq, struct irq_info *info) in set_info_for_irq() argument
200 if (irq < nr_legacy_irqs()) in set_info_for_irq()
[all …]
/linux-4.19.296/drivers/parisc/
Dgsc.c39 int irq = txn_alloc_irq(GSC_EIM_WIDTH); in gsc_alloc_irq() local
40 if (irq < 0) { in gsc_alloc_irq()
42 return irq; in gsc_alloc_irq()
45 i->txn_addr = txn_alloc_addr(irq); in gsc_alloc_irq()
46 i->txn_data = txn_alloc_data(irq); in gsc_alloc_irq()
47 i->irq = irq; in gsc_alloc_irq()
49 return irq; in gsc_alloc_irq()
52 int gsc_claim_irq(struct gsc_irq *i, int irq) in gsc_claim_irq() argument
54 int c = irq; in gsc_claim_irq()
56 irq += CPU_IRQ_BASE; /* virtualize the IRQ first */ in gsc_claim_irq()
[all …]
Dasp.c36 int irq; in asp_choose_irq() local
39 case 0x71: irq = 9; break; /* SCSI */ in asp_choose_irq()
40 case 0x72: irq = 8; break; /* LAN */ in asp_choose_irq()
41 case 0x73: irq = 1; break; /* HIL */ in asp_choose_irq()
42 case 0x74: irq = 7; break; /* Centronics */ in asp_choose_irq()
43 case 0x75: irq = (dev->hw_path == 4) ? 5 : 6; break; /* RS232 */ in asp_choose_irq()
44 case 0x76: irq = 10; break; /* EISA BA */ in asp_choose_irq()
45 case 0x77: irq = 11; break; /* Graphics1 */ in asp_choose_irq()
46 case 0x7a: irq = 13; break; /* Audio (Bushmaster) */ in asp_choose_irq()
47 case 0x7b: irq = 13; break; /* Audio (Scorpio) */ in asp_choose_irq()
[all …]
Dlasi.c39 int irq; in lasi_choose_irq() local
42 case 0x74: irq = 7; break; /* Centronics */ in lasi_choose_irq()
43 case 0x7B: irq = 13; break; /* Audio */ in lasi_choose_irq()
44 case 0x81: irq = 14; break; /* Lasi itself */ in lasi_choose_irq()
45 case 0x82: irq = 9; break; /* SCSI */ in lasi_choose_irq()
46 case 0x83: irq = 20; break; /* Floppy */ in lasi_choose_irq()
47 case 0x84: irq = 26; break; /* PS/2 Keyboard */ in lasi_choose_irq()
48 case 0x87: irq = 18; break; /* ISDN */ in lasi_choose_irq()
49 case 0x8A: irq = 8; break; /* LAN */ in lasi_choose_irq()
50 case 0x8C: irq = 5; break; /* RS232 */ in lasi_choose_irq()
[all …]
/linux-4.19.296/drivers/sh/intc/
Dchip.c18 unsigned int irq = data->irq; in _intc_enable() local
19 struct intc_desc_int *d = get_intc_desc(irq); in _intc_enable()
30 [_INTC_FN(handle)], irq); in _intc_enable()
33 intc_balancing_enable(irq); in _intc_enable()
43 unsigned int irq = data->irq; in intc_disable() local
44 struct intc_desc_int *d = get_intc_desc(irq); in intc_disable()
49 intc_balancing_disable(irq); in intc_disable()
58 [_INTC_FN(handle)], irq); in intc_disable()
83 unsigned int irq = data->irq; in intc_mask_ack() local
84 struct intc_desc_int *d = get_intc_desc(irq); in intc_mask_ack()
[all …]
Dvirq.c23 unsigned int irq; member
35 void intc_irq_xlate_set(unsigned int irq, intc_enum id, struct intc_desc_int *d) in intc_irq_xlate_set() argument
40 intc_irq_xlate[irq].enum_id = id; in intc_irq_xlate_set()
41 intc_irq_xlate[irq].desc = d; in intc_irq_xlate_set()
45 struct intc_map_entry *intc_irq_xlate_get(unsigned int irq) in intc_irq_xlate_get() argument
47 return intc_irq_xlate + irq; in intc_irq_xlate_get()
54 int irq = -1; in intc_irq_lookup() local
75 irq = ptr - intc_irq_xlate; in intc_irq_lookup()
80 return irq; in intc_irq_lookup()
84 static int add_virq_to_pirq(unsigned int irq, unsigned int virq) in add_virq_to_pirq() argument
[all …]
Dinternals.h33 unsigned int irq; member
91 static inline struct intc_desc_int *get_intc_desc(unsigned int irq) in get_intc_desc() argument
93 struct irq_chip *chip = irq_get_chip(irq); in get_intc_desc()
101 static inline void activate_irq(int irq) in activate_irq() argument
103 irq_modify_status(irq, IRQ_NOREQUEST, IRQ_NOPROBE); in activate_irq()
111 return _a->irq - _b->irq; in intc_handle_int_cmp()
122 unsigned int irq);
127 unsigned int irq);
132 unsigned int irq);
144 void intc_balancing_enable(unsigned int irq);
[all …]
/linux-4.19.296/drivers/misc/
Ddummy-irq.c22 static int irq = -1; variable
24 static irqreturn_t dummy_interrupt(int irq, void *dev_id) in dummy_interrupt() argument
30 irq); in dummy_interrupt()
39 if (irq < 0) { in dummy_irq_init()
43 if (request_irq(irq, &dummy_interrupt, IRQF_SHARED, "dummy_irq", &irq)) { in dummy_irq_init()
44 printk(KERN_ERR "dummy-irq: cannot register IRQ %d\n", irq); in dummy_irq_init()
47 printk(KERN_INFO "dummy-irq: registered for IRQ %d\n", irq); in dummy_irq_init()
54 free_irq(irq, &irq); in dummy_irq_exit()
62 module_param_hw(irq, uint, irq, 0444);
63 MODULE_PARM_DESC(irq, "The IRQ to register for");
/linux-4.19.296/drivers/base/power/
Dwakeirq.c32 static int dev_pm_attach_wake_irq(struct device *dev, int irq, in dev_pm_attach_wake_irq() argument
64 int dev_pm_set_wake_irq(struct device *dev, int irq) in dev_pm_set_wake_irq() argument
69 if (irq < 0) in dev_pm_set_wake_irq()
77 wirq->irq = irq; in dev_pm_set_wake_irq()
79 err = dev_pm_attach_wake_irq(dev, irq, wirq); in dev_pm_set_wake_irq()
112 free_irq(wirq->irq, wirq); in dev_pm_clear_wake_irq()
138 static irqreturn_t handle_threaded_wake_irq(int irq, void *_wirq) in handle_threaded_wake_irq() argument
144 if (irqd_is_wakeup_set(irq_get_irq_data(irq))) { in handle_threaded_wake_irq()
159 static int __dev_pm_set_dedicated_wake_irq(struct device *dev, int irq, unsigned int flag) in __dev_pm_set_dedicated_wake_irq() argument
164 if (irq < 0) in __dev_pm_set_dedicated_wake_irq()
[all …]
/linux-4.19.296/virt/kvm/arm/
Darch_timer.c42 .irq = 30,
47 .irq = 27,
80 static irqreturn_t kvm_arch_timer_handler(int irq, void *dev_id) in kvm_arch_timer_handler() argument
278 timer_ctx->irq.level = new_level; in kvm_timer_update_irq()
279 trace_kvm_timer_update_irq(vcpu->vcpu_id, timer_ctx->irq.irq, in kvm_timer_update_irq()
280 timer_ctx->irq.level); in kvm_timer_update_irq()
284 timer_ctx->irq.irq, in kvm_timer_update_irq()
285 timer_ctx->irq.level, in kvm_timer_update_irq()
337 if (kvm_timer_should_fire(ptimer) != ptimer->irq.level) in kvm_timer_update_state()
338 kvm_timer_update_irq(vcpu, !ptimer->irq.level, ptimer); in kvm_timer_update_state()
[all …]

12345678910>>...48