Home
last modified time | relevance | path

Searched refs:virq (Results 1 – 25 of 260) sorted by relevance

1234567891011

/Linux-v5.4/arch/powerpc/platforms/ps3/
Dinterrupt.c169 unsigned int *virq) in ps3_virq_setup() argument
181 *virq = irq_create_mapping(NULL, outlet); in ps3_virq_setup()
183 if (!*virq) { in ps3_virq_setup()
191 outlet, cpu, *virq); in ps3_virq_setup()
193 result = irq_set_chip_data(*virq, pd); in ps3_virq_setup()
201 ps3_chip_mask(irq_get_irq_data(*virq)); in ps3_virq_setup()
206 irq_dispose_mapping(*virq); in ps3_virq_setup()
218 static int ps3_virq_destroy(unsigned int virq) in ps3_virq_destroy() argument
220 const struct ps3_private *pd = irq_get_chip_data(virq); in ps3_virq_destroy()
223 __LINE__, pd->ppe_id, pd->thread_id, virq); in ps3_virq_destroy()
[all …]
/Linux-v5.4/kernel/irq/
Dirqdomain.c533 int irq_domain_associate(struct irq_domain *domain, unsigned int virq, in irq_domain_associate() argument
536 struct irq_data *irq_data = irq_get_irq_data(virq); in irq_domain_associate()
542 if (WARN(!irq_data, "error: virq%i is not allocated", virq)) in irq_domain_associate()
544 if (WARN(irq_data->domain, "error: virq%i is already associated", virq)) in irq_domain_associate()
551 ret = domain->ops->map(domain, virq, hwirq); in irq_domain_associate()
560 domain->name, hwirq, virq, ret); in irq_domain_associate()
577 irq_clear_status_flags(virq, IRQ_NOREQUEST); in irq_domain_associate()
612 unsigned int virq; in irq_create_direct_mapping() local
618 virq = irq_alloc_desc_from(1, of_node_to_nid(of_node)); in irq_create_direct_mapping()
619 if (!virq) { in irq_create_direct_mapping()
[all …]
Dmsi.c138 static int msi_domain_alloc(struct irq_domain *domain, unsigned int virq, in msi_domain_alloc() argument
150 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in msi_domain_alloc()
156 ret = ops->msi_init(domain, info, virq + i, hwirq + i, arg); in msi_domain_alloc()
160 ops->msi_free(domain, info, virq + i); in msi_domain_alloc()
162 irq_domain_free_irqs_top(domain, virq, nr_irqs); in msi_domain_alloc()
170 static void msi_domain_free(struct irq_domain *domain, unsigned int virq, in msi_domain_free() argument
178 info->ops->msi_free(domain, info, virq + i); in msi_domain_free()
180 irq_domain_free_irqs_top(domain, virq, nr_irqs); in msi_domain_free()
217 unsigned int virq, irq_hw_number_t hwirq, in msi_domain_ops_init() argument
220 irq_domain_set_hwirq_and_chip(domain, virq, hwirq, info->chip, in msi_domain_ops_init()
[all …]
Dipi.c28 int virq, i; in irq_reserve_ipi() local
78 virq = irq_domain_alloc_descs(-1, nr_irqs, 0, NUMA_NO_NODE, NULL); in irq_reserve_ipi()
79 if (virq <= 0) { in irq_reserve_ipi()
84 virq = __irq_domain_alloc_irqs(domain, virq, nr_irqs, NUMA_NO_NODE, in irq_reserve_ipi()
87 if (virq <= 0) { in irq_reserve_ipi()
93 data = irq_get_irq_data(virq + i); in irq_reserve_ipi()
96 irq_set_status_flags(virq + i, IRQ_NO_BALANCING); in irq_reserve_ipi()
98 return virq; in irq_reserve_ipi()
101 irq_free_descs(virq, nr_irqs); in irq_reserve_ipi()
307 int ipi_send_single(unsigned int virq, unsigned int cpu) in ipi_send_single() argument
[all …]
/Linux-v5.4/drivers/mfd/
Darizona-irq.c124 irq_find_mapping(arizona->virq, 0)); in arizona_irq_thread()
134 handle_nested_irq(irq_find_mapping(arizona->virq, 1)); in arizona_irq_thread()
186 static int arizona_irq_map(struct irq_domain *h, unsigned int virq, in arizona_irq_map() argument
191 irq_set_chip_data(virq, data); in arizona_irq_map()
192 irq_set_lockdep_class(virq, &arizona_irq_lock_class, in arizona_irq_map()
194 irq_set_chip_and_handler(virq, &arizona_irq_chip, handle_simple_irq); in arizona_irq_map()
195 irq_set_nested_thread(virq, 1); in arizona_irq_map()
196 irq_set_noprobe(virq); in arizona_irq_map()
212 unsigned int virq; in arizona_irq_init() local
315 arizona->virq = irq_domain_add_linear(NULL, 2, &arizona_domain_ops, in arizona_irq_init()
[all …]
/Linux-v5.4/arch/powerpc/platforms/cell/
Dspider-pic.c158 static int spider_host_map(struct irq_domain *h, unsigned int virq, in spider_host_map() argument
161 irq_set_chip_data(virq, h->host_data); in spider_host_map()
162 irq_set_chip_and_handler(virq, &spider_pic, handle_level_irq); in spider_host_map()
165 irq_set_irq_type(virq, IRQ_TYPE_NONE); in spider_host_map()
193 unsigned int cs, virq; in spider_irq_cascade() local
197 virq = 0; in spider_irq_cascade()
199 virq = irq_linear_revmap(pic->host, cs); in spider_irq_cascade()
201 if (virq) in spider_irq_cascade()
202 generic_handle_irq(virq); in spider_irq_cascade()
217 unsigned int virq; in spider_find_cascade_and_node() local
[all …]
Daxon_msi.c255 unsigned int virq, rc; in axon_msi_setup_msi_irqs() local
269 virq = irq_create_direct_mapping(msic->irq_domain); in axon_msi_setup_msi_irqs()
270 if (!virq) { in axon_msi_setup_msi_irqs()
275 dev_dbg(&dev->dev, "axon_msi: allocated virq 0x%x\n", virq); in axon_msi_setup_msi_irqs()
277 irq_set_msi_desc(virq, entry); in axon_msi_setup_msi_irqs()
278 msg.data = virq; in axon_msi_setup_msi_irqs()
279 pci_write_msi_msg(virq, &msg); in axon_msi_setup_msi_irqs()
307 static int msic_host_map(struct irq_domain *h, unsigned int virq, in msic_host_map() argument
310 irq_set_chip_data(virq, h->host_data); in msic_host_map()
311 irq_set_chip_and_handler(virq, &msic_irq_chip, handle_simple_irq); in msic_host_map()
[all …]
Dinterrupt.c137 unsigned int virq; in iic_get_irq() local
144 virq = irq_linear_revmap(iic_host, iic_pending_to_hwnum(pending)); in iic_get_irq()
145 if (!virq) in iic_get_irq()
149 return virq; in iic_get_irq()
179 int virq; in iic_request_ipi() local
181 virq = irq_create_mapping(iic_host, iic_msg_to_irq(msg)); in iic_request_ipi()
182 if (!virq) { in iic_request_ipi()
192 if (smp_request_message_ipi(virq, msg)) in iic_request_ipi()
193 irq_dispose_mapping(virq); in iic_request_ipi()
214 static int iic_host_map(struct irq_domain *h, unsigned int virq, in iic_host_map() argument
[all …]
/Linux-v5.4/arch/powerpc/platforms/pseries/
Devent_sources.c15 int i, virq, rc; in request_event_sources_irqs() local
18 virq = of_irq_get(np, i); in request_event_sources_irqs()
19 if (virq < 0) in request_event_sources_irqs()
21 if (WARN(!virq, "event-sources: Unable to allocate " in request_event_sources_irqs()
25 rc = request_irq(virq, handler, 0, name, NULL); in request_event_sources_irqs()
27 virq, np)) in request_event_sources_irqs()
/Linux-v5.4/drivers/vlynq/
Dvlynq.c128 int virq; in vlynq_irq_unmask() local
132 virq = d->irq - dev->irq_start; in vlynq_irq_unmask()
133 val = readl(&dev->remote->int_device[virq >> 2]); in vlynq_irq_unmask()
134 val |= (VINT_ENABLE | virq) << VINT_OFFSET(virq); in vlynq_irq_unmask()
135 writel(val, &dev->remote->int_device[virq >> 2]); in vlynq_irq_unmask()
141 int virq; in vlynq_irq_mask() local
145 virq = d->irq - dev->irq_start; in vlynq_irq_mask()
146 val = readl(&dev->remote->int_device[virq >> 2]); in vlynq_irq_mask()
147 val &= ~(VINT_ENABLE << VINT_OFFSET(virq)); in vlynq_irq_mask()
148 writel(val, &dev->remote->int_device[virq >> 2]); in vlynq_irq_mask()
[all …]
/Linux-v5.4/arch/x86/platform/uv/
Duv_irq.c75 static int uv_domain_alloc(struct irq_domain *domain, unsigned int virq, in uv_domain_alloc() argument
80 struct irq_data *irq_data = irq_domain_get_irq_data(domain, virq); in uv_domain_alloc()
91 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in uv_domain_alloc()
94 irq_set_status_flags(virq, IRQ_NO_BALANCING); in uv_domain_alloc()
96 irq_set_status_flags(virq, IRQ_MOVE_PCNTXT); in uv_domain_alloc()
100 irq_domain_set_info(domain, virq, virq, &uv_irq_chip, chip_data, in uv_domain_alloc()
109 static void uv_domain_free(struct irq_domain *domain, unsigned int virq, in uv_domain_free() argument
112 struct irq_data *irq_data = irq_domain_get_irq_data(domain, virq); in uv_domain_free()
116 irq_clear_status_flags(virq, IRQ_MOVE_PCNTXT); in uv_domain_free()
117 irq_clear_status_flags(virq, IRQ_NO_BALANCING); in uv_domain_free()
[all …]
/Linux-v5.4/arch/powerpc/platforms/pasemi/
Dmsi.c80 unsigned int virq; in pasemi_msi_setup_msi_irqs() local
106 virq = irq_create_mapping(msi_mpic->irqhost, hwirq); in pasemi_msi_setup_msi_irqs()
107 if (!virq) { in pasemi_msi_setup_msi_irqs()
119 mpic_set_vector(virq, 0); in pasemi_msi_setup_msi_irqs()
121 irq_set_msi_desc(virq, entry); in pasemi_msi_setup_msi_irqs()
122 irq_set_chip(virq, &mpic_pasemi_msi_chip); in pasemi_msi_setup_msi_irqs()
123 irq_set_irq_type(virq, IRQ_TYPE_EDGE_RISING); in pasemi_msi_setup_msi_irqs()
126 "addr 0x%x\n", virq, hwirq, msg.address_lo); in pasemi_msi_setup_msi_irqs()
132 pci_write_msi_msg(virq, &msg); in pasemi_msi_setup_msi_irqs()
/Linux-v5.4/drivers/irqchip/
Dirq-armada-370-xp.c229 static int armada_370_xp_msi_alloc(struct irq_domain *domain, unsigned int virq, in armada_370_xp_msi_alloc() argument
247 irq_domain_set_info(domain, virq + i, hwirq + i, in armada_370_xp_msi_alloc()
257 unsigned int virq, unsigned int nr_irqs) in armada_370_xp_msi_free() argument
259 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in armada_370_xp_msi_free()
351 unsigned int virq, irq_hw_number_t hw) in armada_370_xp_mpic_irq_map() argument
353 armada_370_xp_irq_mask(irq_get_irq_data(virq)); in armada_370_xp_mpic_irq_map()
359 irq_set_status_flags(virq, IRQ_LEVEL); in armada_370_xp_mpic_irq_map()
362 irq_set_percpu_devid(virq); in armada_370_xp_mpic_irq_map()
363 irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip, in armada_370_xp_mpic_irq_map()
366 irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip, in armada_370_xp_mpic_irq_map()
[all …]
Dirq-mips-gic.c150 unsigned int intr, virq; in gic_handle_shared_int() local
167 virq = irq_linear_revmap(gic_irq_domain, in gic_handle_shared_int()
170 generic_handle_irq(virq); in gic_handle_shared_int()
172 do_IRQ(virq); in gic_handle_shared_int()
310 unsigned int intr, virq; in gic_handle_local_int() local
318 virq = irq_linear_revmap(gic_irq_domain, in gic_handle_local_int()
321 generic_handle_irq(virq); in gic_handle_local_int()
323 do_IRQ(virq); in gic_handle_local_int()
415 static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq, in gic_shared_irq_domain_map() argument
422 data = irq_get_irq_data(virq); in gic_shared_irq_domain_map()
[all …]
Dirq-mvebu-sei.c167 static int mvebu_sei_domain_alloc(struct irq_domain *domain, unsigned int virq, in mvebu_sei_domain_alloc() argument
174 irq_domain_set_hwirq_and_chip(domain, virq, fwspec->param[0], in mvebu_sei_domain_alloc()
180 static void mvebu_sei_domain_free(struct irq_domain *domain, unsigned int virq, in mvebu_sei_domain_free() argument
186 struct irq_data *d = irq_domain_get_irq_data(domain, virq + i); in mvebu_sei_domain_free()
187 irq_set_handler(virq + i, NULL); in mvebu_sei_domain_free()
208 static int mvebu_sei_ap_alloc(struct irq_domain *domain, unsigned int virq, in mvebu_sei_ap_alloc() argument
223 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in mvebu_sei_ap_alloc()
227 irq_domain_set_info(domain, virq, hwirq, in mvebu_sei_ap_alloc()
230 irq_set_probe(virq); in mvebu_sei_ap_alloc()
249 unsigned int virq, unsigned int nr_irqs, in mvebu_sei_cp_domain_alloc() argument
[all …]
Dirq-keystone.c92 int src, virq; in keystone_irq_handler() local
107 virq = irq_find_mapping(kirq->irqd, src); in keystone_irq_handler()
109 src, virq); in keystone_irq_handler()
110 if (!virq) in keystone_irq_handler()
112 src, virq); in keystone_irq_handler()
114 generic_handle_irq(virq); in keystone_irq_handler()
124 static int keystone_irq_map(struct irq_domain *h, unsigned int virq, in keystone_irq_map() argument
129 irq_set_chip_data(virq, kirq); in keystone_irq_map()
130 irq_set_chip_and_handler(virq, &kirq->chip, handle_level_irq); in keystone_irq_map()
131 irq_set_probe(virq); in keystone_irq_map()
Dirq-ti-sci-intr.c89 unsigned int virq, unsigned int nr_irqs) in ti_sci_intr_irq_domain_free() argument
95 parent_data = irq_domain_get_irq_data(domain->parent, virq); in ti_sci_intr_irq_domain_free()
96 data = irq_domain_get_irq_data(domain, virq); in ti_sci_intr_irq_domain_free()
103 irq_domain_free_irqs_parent(domain, virq, 1); in ti_sci_intr_irq_domain_free()
116 unsigned int virq, u32 hwirq) in ti_sci_intr_alloc_gic_irq() argument
137 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in ti_sci_intr_alloc_gic_irq()
149 irq_domain_free_irqs_parent(domain, virq, 1); in ti_sci_intr_alloc_gic_irq()
165 unsigned int virq, unsigned int nr_irqs, in ti_sci_intr_irq_domain_alloc() argument
177 err = ti_sci_intr_alloc_gic_irq(domain, virq, hwirq); in ti_sci_intr_irq_domain_alloc()
181 irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in ti_sci_intr_irq_domain_alloc()
/Linux-v5.4/drivers/misc/ocxl/
Dafu_irq.c11 unsigned int virq; member
57 static irqreturn_t afu_irq_handler(int virq, void *data) in afu_irq_handler() argument
61 trace_ocxl_afu_irq_receive(virq); in afu_irq_handler()
73 irq->virq = irq_create_mapping(NULL, irq->hw_irq); in setup_afu_irq()
74 if (!irq->virq) { in setup_afu_irq()
78 pr_debug("hw_irq %d mapped to virq %u\n", irq->hw_irq, irq->virq); in setup_afu_irq()
80 irq->name = kasprintf(GFP_KERNEL, "ocxl-afu-%u", irq->virq); in setup_afu_irq()
82 irq_dispose_mapping(irq->virq); in setup_afu_irq()
86 rc = request_irq(irq->virq, afu_irq_handler, 0, irq->name, irq); in setup_afu_irq()
90 irq_dispose_mapping(irq->virq); in setup_afu_irq()
[all …]
Dtrace.h110 TP_PROTO(int pasid, int irq_id, unsigned int virq, int hw_irq),
111 TP_ARGS(pasid, irq_id, virq, hw_irq),
116 __field(unsigned int, virq)
123 __entry->virq = virq;
130 __entry->virq,
156 TP_PROTO(int virq),
157 TP_ARGS(virq),
160 __field(int, virq)
164 __entry->virq = virq;
168 __entry->virq
/Linux-v5.4/arch/powerpc/sysdev/
Dmpic_u3msi.c122 unsigned int virq; in u3msi_setup_msi_irqs() local
152 virq = irq_create_mapping(msi_mpic->irqhost, hwirq); in u3msi_setup_msi_irqs()
153 if (!virq) { in u3msi_setup_msi_irqs()
159 irq_set_msi_desc(virq, entry); in u3msi_setup_msi_irqs()
160 irq_set_chip(virq, &mpic_u3msi_chip); in u3msi_setup_msi_irqs()
161 irq_set_irq_type(virq, IRQ_TYPE_EDGE_RISING); in u3msi_setup_msi_irqs()
164 virq, hwirq, (unsigned long)addr); in u3msi_setup_msi_irqs()
167 virq, hwirq, (unsigned long)addr); in u3msi_setup_msi_irqs()
169 pci_write_msi_msg(virq, &msg); in u3msi_setup_msi_irqs()
/Linux-v5.4/drivers/misc/cxl/
Dirq.c226 unsigned int virq; in cxl_map_irq() local
230 virq = irq_create_mapping(NULL, hwirq); in cxl_map_irq()
231 if (!virq) { in cxl_map_irq()
237 cxl_ops->setup_irq(adapter, hwirq, virq); in cxl_map_irq()
239 pr_devel("hwirq %#lx mapped to virq %u\n", hwirq, virq); in cxl_map_irq()
241 result = request_irq(virq, handler, 0, name, cookie); in cxl_map_irq()
247 return virq; in cxl_map_irq()
250 void cxl_unmap_irq(unsigned int virq, void *cookie) in cxl_unmap_irq() argument
252 free_irq(virq, cookie); in cxl_unmap_irq()
262 int hwirq, virq; in cxl_register_one_irq() local
[all …]
/Linux-v5.4/include/linux/
Dirqdomain.h108 int (*map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw);
109 void (*unmap)(struct irq_domain *d, unsigned int virq);
115 int (*alloc)(struct irq_domain *d, unsigned int virq,
117 void (*free)(struct irq_domain *d, unsigned int virq,
270 extern int irq_domain_alloc_descs(int virq, unsigned int nr_irqs,
381 extern void irq_dispose_mapping(unsigned int virq);
435 unsigned int virq);
436 extern void irq_domain_set_info(struct irq_domain *domain, unsigned int virq,
462 extern void irq_domain_free_irqs(unsigned int virq, unsigned int nr_irqs);
477 unsigned int virq,
[all …]
/Linux-v5.4/drivers/platform/x86/
Dintel_bxtwc_tmu.c53 int ret, virq, irq; in bxt_wcove_tmu_probe() local
67 virq = regmap_irq_get_virq(regmap_irq_chip, irq); in bxt_wcove_tmu_probe()
68 if (virq < 0) { in bxt_wcove_tmu_probe()
71 return virq; in bxt_wcove_tmu_probe()
74 ret = devm_request_threaded_irq(&pdev->dev, virq, in bxt_wcove_tmu_probe()
79 ret, virq); in bxt_wcove_tmu_probe()
82 wctmu->irq = virq; in bxt_wcove_tmu_probe()
/Linux-v5.4/arch/powerpc/include/asm/
Dps3.h179 unsigned int *virq);
180 int ps3_irq_plug_destroy(unsigned int virq);
181 int ps3_event_receive_port_setup(enum ps3_cpu_binding cpu, unsigned int *virq);
182 int ps3_event_receive_port_destroy(unsigned int virq);
183 int ps3_send_event_locally(unsigned int virq);
186 unsigned int *virq);
187 int ps3_io_irq_destroy(unsigned int virq);
189 unsigned int *virq);
190 int ps3_vuart_irq_destroy(unsigned int virq);
192 unsigned int class, unsigned int *virq);
[all …]
/Linux-v5.4/drivers/soc/fsl/qe/
Dqe_ic.c185 static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) in qe_ic_from_irq() argument
187 return irq_get_chip_data(virq); in qe_ic_from_irq()
252 static int qe_ic_host_map(struct irq_domain *h, unsigned int virq, in qe_ic_host_map() argument
270 irq_set_chip_data(virq, qe_ic); in qe_ic_host_map()
271 irq_set_status_flags(virq, IRQ_LEVEL); in qe_ic_host_map()
273 irq_set_chip_and_handler(virq, chip, handle_level_irq); in qe_ic_host_map()
385 void qe_ic_set_highest_priority(unsigned int virq, int high) in qe_ic_set_highest_priority() argument
387 struct qe_ic *qe_ic = qe_ic_from_irq(virq); in qe_ic_set_highest_priority()
388 unsigned int src = virq_to_hw(virq); in qe_ic_set_highest_priority()
403 int qe_ic_set_priority(unsigned int virq, unsigned int priority) in qe_ic_set_priority() argument
[all …]

1234567891011