/drivers/mfd/ |
D | arizona-irq.c | 124 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 …]
|
D | tps65217.c | 140 static int tps65217_irq_map(struct irq_domain *h, unsigned int virq, in tps65217_irq_map() argument 145 irq_set_chip_data(virq, tps); in tps65217_irq_map() 146 irq_set_chip_and_handler(virq, &tps65217_irq_chip, handle_edge_irq); in tps65217_irq_map() 147 irq_set_nested_thread(virq, 1); in tps65217_irq_map() 148 irq_set_parent(virq, tps->irq); in tps65217_irq_map() 149 irq_set_noprobe(virq); in tps65217_irq_map() 388 unsigned int virq; in tps65217_remove() local 392 virq = irq_find_mapping(tps->irq_domain, i); in tps65217_remove() 393 if (virq) in tps65217_remove() 394 irq_dispose_mapping(virq); in tps65217_remove()
|
D | twl6030-irq.c | 333 static int twl6030_irq_map(struct irq_domain *d, unsigned int virq, in twl6030_irq_map() argument 338 irq_set_chip_data(virq, pdata); in twl6030_irq_map() 339 irq_set_chip_and_handler(virq, &pdata->irq_chip, handle_simple_irq); in twl6030_irq_map() 340 irq_set_nested_thread(virq, true); in twl6030_irq_map() 341 irq_set_parent(virq, pdata->twl_irq); in twl6030_irq_map() 342 irq_set_noprobe(virq); in twl6030_irq_map() 347 static void twl6030_irq_unmap(struct irq_domain *d, unsigned int virq) in twl6030_irq_unmap() argument 349 irq_set_chip_and_handler(virq, NULL, NULL); in twl6030_irq_unmap() 350 irq_set_chip_data(virq, NULL); in twl6030_irq_unmap()
|
D | tc3589x.c | 190 int virq = irq_find_mapping(tc3589x->domain, bit); in tc3589x_irq() local 192 handle_nested_irq(virq); in tc3589x_irq() 209 static int tc3589x_irq_map(struct irq_domain *d, unsigned int virq, in tc3589x_irq_map() argument 214 irq_set_chip_data(virq, tc3589x); in tc3589x_irq_map() 215 irq_set_chip_and_handler(virq, &dummy_irq_chip, in tc3589x_irq_map() 217 irq_set_nested_thread(virq, 1); in tc3589x_irq_map() 218 irq_set_noprobe(virq); in tc3589x_irq_map() 223 static void tc3589x_irq_unmap(struct irq_domain *d, unsigned int virq) in tc3589x_irq_unmap() argument 225 irq_set_chip_and_handler(virq, NULL, NULL); in tc3589x_irq_unmap() 226 irq_set_chip_data(virq, NULL); in tc3589x_irq_unmap()
|
/drivers/vlynq/ |
D | vlynq.c | 128 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 …]
|
/drivers/irqchip/ |
D | irq-armada-370-xp.c | 229 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() 381 unsigned int virq, in armada_370_xp_ipi_alloc() argument 387 irq_set_percpu_devid(virq + i); in armada_370_xp_ipi_alloc() 388 irq_domain_set_info(d, virq + i, i, &ipi_irqchip, in armada_370_xp_ipi_alloc() 398 unsigned int virq, in armada_370_xp_ipi_free() argument 498 int virq; in armada_xp_mpic_reenable_percpu() local 500 virq = irq_linear_revmap(armada_370_xp_mpic_domain, irq); in armada_xp_mpic_reenable_percpu() [all …]
|
D | irq-mips-gic.c | 152 unsigned int intr, virq; in gic_handle_shared_int() local 169 virq = irq_linear_revmap(gic_irq_domain, in gic_handle_shared_int() 172 generic_handle_irq(virq); in gic_handle_shared_int() 174 do_IRQ(virq); in gic_handle_shared_int() 312 unsigned int intr, virq; in gic_handle_local_int() local 320 virq = irq_linear_revmap(gic_irq_domain, in gic_handle_local_int() 323 generic_handle_irq(virq); in gic_handle_local_int() 325 do_IRQ(virq); in gic_handle_local_int() 430 static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq, in gic_shared_irq_domain_map() argument 437 data = irq_get_irq_data(virq); in gic_shared_irq_domain_map() [all …]
|
D | irq-mvebu-sei.c | 167 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 …]
|
D | irq-keystone.c | 92 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()
|
D | irq-alpine-msi.c | 120 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()
|
D | irq-loongson-pch-msi.c | 100 unsigned int virq, int hwirq) in pch_msi_parent_domain_alloc() argument 108 return irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in pch_msi_parent_domain_alloc() 112 unsigned int virq, in pch_msi_middle_domain_alloc() argument 123 err = pch_msi_parent_domain_alloc(domain, virq + i, hwirq + i); in pch_msi_middle_domain_alloc() 127 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i, in pch_msi_middle_domain_alloc() 135 irq_domain_free_irqs_parent(domain, virq, i - 1); in pch_msi_middle_domain_alloc() 141 unsigned int virq, in pch_msi_middle_domain_free() argument 144 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in pch_msi_middle_domain_free() 147 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in pch_msi_middle_domain_free()
|
D | irq-ti-sci-intr.c | 109 unsigned int virq, unsigned int nr_irqs) in ti_sci_intr_irq_domain_free() argument 115 data = irq_domain_get_irq_data(domain, virq); in ti_sci_intr_irq_domain_free() 122 irq_domain_free_irqs_parent(domain, virq, 1); in ti_sci_intr_irq_domain_free() 135 unsigned int virq, u32 hwirq) in ti_sci_intr_alloc_parent_irq() argument 166 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in ti_sci_intr_alloc_parent_irq() 179 irq_domain_free_irqs_parent(domain, virq, 1); in ti_sci_intr_alloc_parent_irq() 195 unsigned int virq, unsigned int nr_irqs, in ti_sci_intr_irq_domain_alloc() argument 207 out_irq = ti_sci_intr_alloc_parent_irq(domain, virq, hwirq); in ti_sci_intr_irq_domain_alloc() 211 irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in ti_sci_intr_irq_domain_alloc()
|
D | irq-mips-cpu.c | 130 unsigned int virq; in plat_irq_dispatch() local 142 virq = irq_linear_revmap(ipi_domain, irq); in plat_irq_dispatch() 144 virq = irq_linear_revmap(irq_domain, irq); in plat_irq_dispatch() 145 do_IRQ(virq); in plat_irq_dispatch() 181 static int mips_cpu_ipi_alloc(struct irq_domain *domain, unsigned int virq, in mips_cpu_ipi_alloc() argument 194 ret = irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq, in mips_cpu_ipi_alloc() 200 ret = irq_domain_set_hwirq_and_chip(domain->parent, virq + i, hwirq, in mips_cpu_ipi_alloc() 207 ret = irq_set_irq_type(virq + i, IRQ_TYPE_LEVEL_HIGH); in mips_cpu_ipi_alloc()
|
D | irq-gic-v3-mbi.c | 42 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 114 err = mbi_irq_gic_domain_alloc(domain, virq + i, hwirq + i); in mbi_irq_domain_alloc() 118 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i, in mbi_irq_domain_alloc() 125 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in mbi_irq_domain_alloc() 131 unsigned int virq, unsigned int nr_irqs) in mbi_irq_domain_free() argument 133 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in mbi_irq_domain_free() 137 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in mbi_irq_domain_free()
|
D | irq-ls-scfg-msi.c | 137 unsigned int virq, in ls_scfg_msi_domain_irq_alloc() argument 162 irq_domain_set_info(domain, virq, pos, in ls_scfg_msi_domain_irq_alloc() 170 unsigned int virq, unsigned int nr_irqs) in ls_scfg_msi_domain_irq_free() argument 172 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in ls_scfg_msi_domain_irq_free() 197 int pos, size, virq, hwirq; in ls_scfg_msi_irq_handler() local 209 virq = irq_find_mapping(msi_data->parent, hwirq); in ls_scfg_msi_irq_handler() 210 if (virq) in ls_scfg_msi_irq_handler() 211 generic_handle_irq(virq); in ls_scfg_msi_irq_handler() 245 int virq, i, hwirq; in ls_scfg_msi_setup_hwirq() local 247 virq = platform_get_irq(msi_data->pdev, index); in ls_scfg_msi_setup_hwirq() [all …]
|
D | irq-rda-intc.c | 69 unsigned int virq, irq_hw_number_t hw) in rda_irq_map() argument 71 irq_set_status_flags(virq, IRQ_LEVEL); in rda_irq_map() 72 irq_set_chip_and_handler(virq, &rda_irq_chip, handle_level_irq); in rda_irq_map() 73 irq_set_chip_data(virq, d->host_data); in rda_irq_map() 74 irq_set_probe(virq); in rda_irq_map()
|
D | irq-mvebu-odmi.c | 78 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()
|
/drivers/misc/ocxl/ |
D | afu_irq.c | 12 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 …]
|
D | trace.h | 110 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
|
/drivers/misc/cxl/ |
D | irq.c | 226 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 …]
|
/drivers/pinctrl/samsung/ |
D | pinctrl-s3c24xx.c | 242 unsigned int virq; in s3c2410_demux_eint0_3() local 245 virq = irq_linear_revmap(eint_data->domains[data->hwirq], data->hwirq); in s3c2410_demux_eint0_3() 247 BUG_ON(!virq); in s3c2410_demux_eint0_3() 249 generic_handle_irq(virq); in s3c2410_demux_eint0_3() 298 unsigned int virq; in s3c2412_demux_eint0_3() local 303 virq = irq_linear_revmap(eint_data->domains[data->hwirq], data->hwirq); in s3c2412_demux_eint0_3() 305 BUG_ON(!virq); in s3c2412_demux_eint0_3() 307 generic_handle_irq(virq); in s3c2412_demux_eint0_3() 372 unsigned int virq, irq; in s3c24xx_demux_eint() local 376 virq = irq_linear_revmap(data->domains[irq], irq - offset); in s3c24xx_demux_eint() [all …]
|
/drivers/platform/x86/ |
D | intel_bxtwc_tmu.c | 53 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()
|
/drivers/base/ |
D | platform-msi.c | 56 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() 367 void platform_msi_domain_free(struct irq_domain *domain, unsigned int virq, in platform_msi_domain_free() argument 375 if (!(desc->irq >= virq && desc->irq < (virq + nvec))) in platform_msi_domain_free() 396 int platform_msi_domain_alloc(struct irq_domain *domain, unsigned int virq, in platform_msi_domain_alloc() argument 402 err = platform_msi_alloc_descs_with_irq(data->dev, virq, nr_irqs, data); in platform_msi_domain_alloc() 407 virq, nr_irqs, &data->arg); in platform_msi_domain_alloc() 409 platform_msi_domain_free(domain, virq, nr_irqs); in platform_msi_domain_alloc()
|
/drivers/pci/controller/ |
D | pcie-tango.c | 29 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 …]
|
/drivers/iommu/ |
D | hyperv-iommu.c | 69 unsigned int virq, unsigned int nr_irqs, in hyperv_irq_remapping_alloc() argument 80 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in hyperv_irq_remapping_alloc() 84 irq_data = irq_domain_get_irq_data(domain, virq); in hyperv_irq_remapping_alloc() 86 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_irq_remapping_alloc() 117 unsigned int virq, unsigned int nr_irqs) in hyperv_irq_remapping_free() argument 119 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_irq_remapping_free()
|