Home
last modified time | relevance | path

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

12345

/linux-4.19.296/drivers/misc/ocxl/
Dafu_irq.c12 unsigned int virq; member
28 static irqreturn_t afu_irq_handler(int virq, void *data) in afu_irq_handler() argument
32 trace_ocxl_afu_irq_receive(virq); in afu_irq_handler()
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()
51 irq_dispose_mapping(irq->virq); in setup_afu_irq()
55 rc = request_irq(irq->virq, afu_irq_handler, 0, irq->name, irq); in setup_afu_irq()
59 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,
112 TP_ARGS(pasid, irq_id, virq, hw_irq, irq_offset),
117 __field(unsigned int, virq)
125 __entry->virq = virq;
133 __entry->virq,
160 TP_PROTO(int virq),
161 TP_ARGS(virq),
164 __field(int, virq)
168 __entry->virq = virq;
172 __entry->virq
/linux-4.19.296/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
243 irq_domain_set_info(domain, virq + i, hwirq + i, in armada_370_xp_msi_alloc()
253 unsigned int virq, unsigned int nr_irqs) in armada_370_xp_msi_free() argument
255 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in armada_370_xp_msi_free()
347 unsigned int virq, irq_hw_number_t hw) in armada_370_xp_mpic_irq_map() argument
349 armada_370_xp_irq_mask(irq_get_irq_data(virq)); in armada_370_xp_mpic_irq_map()
355 irq_set_status_flags(virq, IRQ_LEVEL); in armada_370_xp_mpic_irq_map()
358 irq_set_percpu_devid(virq); in armada_370_xp_mpic_irq_map()
359 irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip, in armada_370_xp_mpic_irq_map()
362 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()
428 static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq, in gic_shared_irq_domain_map() argument
435 data = irq_get_irq_data(virq); in gic_shared_irq_domain_map()
[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-alpine-msi.c120 unsigned int virq, int sgi) in alpine_msix_gic_domain_alloc() argument
135 ret = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in alpine_msix_gic_domain_alloc()
139 d = irq_domain_get_irq_data(domain->parent, virq); in alpine_msix_gic_domain_alloc()
146 unsigned int virq, in alpine_msix_middle_domain_alloc() argument
157 err = alpine_msix_gic_domain_alloc(domain, virq + i, sgi + i); in alpine_msix_middle_domain_alloc()
161 irq_domain_set_hwirq_and_chip(domain, virq + i, sgi + i, in alpine_msix_middle_domain_alloc()
168 irq_domain_free_irqs_parent(domain, virq, i - 1); in alpine_msix_middle_domain_alloc()
174 unsigned int virq, in alpine_msix_middle_domain_free() argument
177 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in alpine_msix_middle_domain_free()
180 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in alpine_msix_middle_domain_free()
Dirq-mips-cpu.c134 unsigned int virq; in plat_irq_dispatch() local
146 virq = irq_linear_revmap(ipi_domain, irq); in plat_irq_dispatch()
148 virq = irq_linear_revmap(irq_domain, irq); in plat_irq_dispatch()
149 do_IRQ(virq); in plat_irq_dispatch()
185 static int mips_cpu_ipi_alloc(struct irq_domain *domain, unsigned int virq, in mips_cpu_ipi_alloc() argument
198 ret = irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq, in mips_cpu_ipi_alloc()
204 ret = irq_domain_set_hwirq_and_chip(domain->parent, virq + i, hwirq, in mips_cpu_ipi_alloc()
211 ret = irq_set_irq_type(virq + i, IRQ_TYPE_LEVEL_HIGH); in mips_cpu_ipi_alloc()
Dirq-gic-v3-mbi.c42 unsigned int virq, in mbi_irq_gic_domain_alloc() argument
67 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in mbi_irq_gic_domain_alloc()
71 d = irq_domain_get_irq_data(domain->parent, virq); in mbi_irq_gic_domain_alloc()
84 static int mbi_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, in mbi_irq_domain_alloc() argument
108 err = mbi_irq_gic_domain_alloc(domain, virq + i, hwirq + i); in mbi_irq_domain_alloc()
112 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i, in mbi_irq_domain_alloc()
119 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in mbi_irq_domain_alloc()
125 unsigned int virq, unsigned int nr_irqs) in mbi_irq_domain_free() argument
127 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in mbi_irq_domain_free()
131 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in mbi_irq_domain_free()
Dirq-ls-scfg-msi.c140 unsigned int virq, in ls_scfg_msi_domain_irq_alloc() argument
160 irq_domain_set_info(domain, virq, pos, in ls_scfg_msi_domain_irq_alloc()
168 unsigned int virq, unsigned int nr_irqs) in ls_scfg_msi_domain_irq_free() argument
170 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in ls_scfg_msi_domain_irq_free()
195 int pos, size, virq, hwirq; in ls_scfg_msi_irq_handler() local
207 virq = irq_find_mapping(msi_data->parent, hwirq); in ls_scfg_msi_irq_handler()
208 if (virq) in ls_scfg_msi_irq_handler()
209 generic_handle_irq(virq); in ls_scfg_msi_irq_handler()
243 int virq, i, hwirq; in ls_scfg_msi_setup_hwirq() local
245 virq = platform_get_irq(msi_data->pdev, index); in ls_scfg_msi_setup_hwirq()
[all …]
Dirq-mvebu-icu.c139 mvebu_icu_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, in mvebu_icu_irq_domain_alloc() argument
162 err = platform_msi_domain_alloc(domain, virq, nr_irqs); in mvebu_icu_irq_domain_alloc()
169 err = irq_set_irqchip_state(virq, IRQCHIP_STATE_PENDING, false); in mvebu_icu_irq_domain_alloc()
173 err = irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in mvebu_icu_irq_domain_alloc()
183 platform_msi_domain_free(domain, virq, nr_irqs); in mvebu_icu_irq_domain_alloc()
190 mvebu_icu_irq_domain_free(struct irq_domain *domain, unsigned int virq, in mvebu_icu_irq_domain_free() argument
193 struct irq_data *d = irq_get_irq_data(virq); in mvebu_icu_irq_domain_free()
198 platform_msi_domain_free(domain, virq, nr_irqs); in mvebu_icu_irq_domain_free()
Dirq-eznps.c109 static int nps400_irq_map(struct irq_domain *d, unsigned int virq, in nps400_irq_map() argument
117 irq_set_percpu_devid(virq); in nps400_irq_map()
118 irq_set_chip_and_handler(virq, &nps400_irq_chip_percpu, in nps400_irq_map()
122 irq_set_chip_and_handler(virq, &nps400_irq_chip_fasteoi, in nps400_irq_map()
Dirq-mvebu-odmi.c78 static int odmi_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, in odmi_irq_domain_alloc() argument
106 ret = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in odmi_irq_domain_alloc()
116 d = irq_domain_get_irq_data(domain->parent, virq); in odmi_irq_domain_alloc()
119 irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in odmi_irq_domain_alloc()
126 unsigned int virq, unsigned int nr_irqs) in odmi_irq_domain_free() argument
128 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in odmi_irq_domain_free()
135 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in odmi_irq_domain_free()
Dirq-mvebu-pic.c69 static int mvebu_pic_irq_map(struct irq_domain *domain, unsigned int virq, in mvebu_pic_irq_map() argument
74 irq_set_percpu_devid(virq); in mvebu_pic_irq_map()
75 irq_set_chip_data(virq, pic); in mvebu_pic_irq_map()
76 irq_set_chip_and_handler(virq, &pic->irq_chip, in mvebu_pic_irq_map()
78 irq_set_status_flags(virq, IRQ_LEVEL); in mvebu_pic_irq_map()
79 irq_set_probe(virq); in mvebu_pic_irq_map()
Dirq-lpc32xx.c156 static int lpc32xx_irq_domain_map(struct irq_domain *id, unsigned int virq, in lpc32xx_irq_domain_map() argument
161 irq_set_chip_data(virq, ic); in lpc32xx_irq_domain_map()
162 irq_set_chip_and_handler(virq, &ic->chip, handle_level_irq); in lpc32xx_irq_domain_map()
163 irq_set_status_flags(virq, IRQ_LEVEL); in lpc32xx_irq_domain_map()
164 irq_set_noprobe(virq); in lpc32xx_irq_domain_map()
169 static void lpc32xx_irq_domain_unmap(struct irq_domain *id, unsigned int virq) in lpc32xx_irq_domain_unmap() argument
171 irq_set_chip_and_handler(virq, NULL, NULL); in lpc32xx_irq_domain_unmap()
Dirq-ativic32.c40 static int ativic32_irq_domain_map(struct irq_domain *id, unsigned int virq, in ativic32_irq_domain_map() argument
48 irq_data = irq_get_irq_data(virq); in ativic32_irq_domain_map()
53 irq_set_chip_and_handler(virq, &ativic32_chip, handle_edge_irq); in ativic32_irq_domain_map()
56 irq_set_chip_and_handler(virq, &ativic32_chip, handle_level_irq); in ativic32_irq_domain_map()
Dirq-partition-percpu.c149 static int partition_domain_alloc(struct irq_domain *domain, unsigned int virq, in partition_domain_alloc() argument
168 irq_set_percpu_devid_partition(virq, &part->parts[hwirq].mask); in partition_domain_alloc()
169 irq_domain_set_info(domain, virq, hwirq, &partition_irq_chip, part, in partition_domain_alloc()
171 irq_set_status_flags(virq, IRQ_NOAUTOEN); in partition_domain_alloc()
176 static void partition_domain_free(struct irq_domain *domain, unsigned int virq, in partition_domain_free() argument
183 d = irq_domain_get_irq_data(domain, virq); in partition_domain_free()
184 irq_set_handler(virq, NULL); in partition_domain_free()
Dirq-mvebu-gicp.c80 static int gicp_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, in gicp_irq_domain_alloc() argument
107 ret = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in gicp_irq_domain_alloc()
113 ret = irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in gicp_irq_domain_alloc()
121 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in gicp_irq_domain_alloc()
130 unsigned int virq, unsigned int nr_irqs) in gicp_irq_domain_free() argument
133 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in gicp_irq_domain_free()
140 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in gicp_irq_domain_free()
Dirq-meson-gpio.c263 unsigned int virq, in meson_gpio_irq_allocate_gic_irq() argument
275 return irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in meson_gpio_irq_allocate_gic_irq()
279 unsigned int virq, in meson_gpio_irq_domain_alloc() argument
301 ret = meson_gpio_irq_allocate_gic_irq(domain, virq, in meson_gpio_irq_domain_alloc()
309 irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in meson_gpio_irq_domain_alloc()
316 unsigned int virq, in meson_gpio_irq_domain_free() argument
326 irq_domain_free_irqs_parent(domain, virq, 1); in meson_gpio_irq_domain_free()
328 irq_data = irq_domain_get_irq_data(domain, virq); in meson_gpio_irq_domain_free()
Dirq-gic-v2m.c126 unsigned int virq, in gicv2m_irq_gic_domain_alloc() argument
148 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in gicv2m_irq_gic_domain_alloc()
153 d = irq_domain_get_irq_data(domain->parent, virq); in gicv2m_irq_gic_domain_alloc()
167 static int gicv2m_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, in gicv2m_irq_domain_alloc() argument
190 err = gicv2m_irq_gic_domain_alloc(domain, virq + i, hwirq + i); in gicv2m_irq_domain_alloc()
194 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i, in gicv2m_irq_domain_alloc()
201 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in gicv2m_irq_domain_alloc()
207 unsigned int virq, unsigned int nr_irqs) in gicv2m_irq_domain_free() argument
209 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in gicv2m_irq_domain_free()
213 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in gicv2m_irq_domain_free()
/linux-4.19.296/include/linux/
Dirqdomain.h105 int (*map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw);
106 void (*unmap)(struct irq_domain *d, unsigned int virq);
112 int (*alloc)(struct irq_domain *d, unsigned int virq,
114 void (*free)(struct irq_domain *d, unsigned int virq,
273 extern int irq_domain_alloc_descs(int virq, unsigned int nr_irqs,
384 extern void irq_dispose_mapping(unsigned int virq);
433 unsigned int virq);
434 extern void irq_domain_set_info(struct irq_domain *domain, unsigned int virq,
459 extern void irq_domain_free_irqs(unsigned int virq, unsigned int nr_irqs);
474 unsigned int virq,
[all …]
/linux-4.19.296/drivers/misc/cxl/
Dirq.c230 unsigned int virq; in cxl_map_irq() local
234 virq = irq_create_mapping(NULL, hwirq); in cxl_map_irq()
235 if (!virq) { in cxl_map_irq()
241 cxl_ops->setup_irq(adapter, hwirq, virq); in cxl_map_irq()
243 pr_devel("hwirq %#lx mapped to virq %u\n", hwirq, virq); in cxl_map_irq()
245 result = request_irq(virq, handler, 0, name, cookie); in cxl_map_irq()
251 return virq; in cxl_map_irq()
254 void cxl_unmap_irq(unsigned int virq, void *cookie) in cxl_unmap_irq() argument
256 free_irq(virq, cookie); in cxl_unmap_irq()
266 int hwirq, virq; in cxl_register_one_irq() local
[all …]
/linux-4.19.296/drivers/base/
Dplatform-msi.c56 unsigned int virq, irq_hw_number_t hwirq, in platform_msi_init() argument
59 return irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in platform_msi_init()
122 static int platform_msi_alloc_descs_with_irq(struct device *dev, int virq, in platform_msi_alloc_descs_with_irq() argument
143 desc->irq = virq ? virq + i : 0; in platform_msi_alloc_descs_with_irq()
365 void platform_msi_domain_free(struct irq_domain *domain, unsigned int virq, in platform_msi_domain_free() argument
373 if (!(desc->irq >= virq && desc->irq < (virq + nvec))) in platform_msi_domain_free()
394 int platform_msi_domain_alloc(struct irq_domain *domain, unsigned int virq, in platform_msi_domain_alloc() argument
400 err = platform_msi_alloc_descs_with_irq(data->dev, virq, nr_irqs, data); in platform_msi_domain_alloc()
405 virq, nr_irqs, &data->arg); in platform_msi_domain_alloc()
407 platform_msi_domain_free(domain, virq, nr_irqs); in platform_msi_domain_alloc()
/linux-4.19.296/drivers/pci/controller/
Dpcie-tango.c29 unsigned long status, base, virq, idx, pos = 0; in tango_msi_isr() local
38 virq = irq_find_mapping(pcie->dom, base + idx); in tango_msi_isr()
39 generic_handle_irq(virq); in tango_msi_isr()
135 static int tango_irq_domain_alloc(struct irq_domain *dom, unsigned int virq, in tango_irq_domain_alloc() argument
150 irq_domain_set_info(dom, virq, pos, &tango_chip, in tango_irq_domain_alloc()
156 static void tango_irq_domain_free(struct irq_domain *dom, unsigned int virq, in tango_irq_domain_free() argument
160 struct irq_data *d = irq_domain_get_irq_data(dom, virq); in tango_irq_domain_free()
244 int virq, offset; in tango_pcie_probe() local
275 virq = platform_get_irq(pdev, 1); in tango_pcie_probe()
276 if (virq <= 0) { in tango_pcie_probe()
[all …]
Dpcie-altera-msi.c57 u32 virq; in altera_msi_isr() local
67 virq = irq_find_mapping(msi->inner_domain, bit); in altera_msi_isr()
68 if (virq) in altera_msi_isr()
69 generic_handle_irq(virq); in altera_msi_isr()
115 static int altera_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, in altera_irq_domain_alloc() argument
135 irq_domain_set_info(domain, virq, bit, &altera_msi_bottom_irq_chip, in altera_irq_domain_alloc()
147 unsigned int virq, unsigned int nr_irqs) in altera_irq_domain_free() argument
149 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in altera_irq_domain_free()
Dpci-xgene-msi.c194 static int xgene_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, in xgene_irq_domain_alloc() argument
214 irq_domain_set_info(domain, virq, msi_irq, in xgene_irq_domain_alloc()
222 unsigned int virq, unsigned int nr_irqs) in xgene_irq_domain_free() argument
224 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in xgene_irq_domain_free()
235 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in xgene_irq_domain_free()
294 unsigned int virq; in xgene_msi_isr() local
333 virq = irq_find_mapping(xgene_msi->inner_domain, hw_irq); in xgene_msi_isr()
334 WARN_ON(!virq); in xgene_msi_isr()
335 if (virq != 0) in xgene_msi_isr()
336 generic_handle_irq(virq); in xgene_msi_isr()

12345