/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 | 132 static int tps65217_irq_map(struct irq_domain *h, unsigned int virq, in tps65217_irq_map() argument 137 irq_set_chip_data(virq, tps); in tps65217_irq_map() 138 irq_set_chip_and_handler(virq, &tps65217_irq_chip, handle_edge_irq); in tps65217_irq_map() 139 irq_set_nested_thread(virq, 1); in tps65217_irq_map() 140 irq_set_parent(virq, tps->irq); in tps65217_irq_map() 141 irq_set_noprobe(virq); in tps65217_irq_map() 380 unsigned int virq; in tps65217_remove() local 384 virq = irq_find_mapping(tps->irq_domain, i); in tps65217_remove() 385 if (virq) in tps65217_remove() 386 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 | 243 static int armada_370_xp_msi_alloc(struct irq_domain *domain, unsigned int virq, in armada_370_xp_msi_alloc() argument 257 irq_domain_set_info(domain, virq + i, hwirq + i, in armada_370_xp_msi_alloc() 267 unsigned int virq, unsigned int nr_irqs) in armada_370_xp_msi_free() argument 269 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in armada_370_xp_msi_free() 400 unsigned int virq, in armada_370_xp_ipi_alloc() argument 406 irq_set_percpu_devid(virq + i); in armada_370_xp_ipi_alloc() 407 irq_domain_set_info(d, virq + i, i, &ipi_irqchip, in armada_370_xp_ipi_alloc() 417 unsigned int virq, in armada_370_xp_ipi_free() argument 517 int virq; in armada_xp_mpic_reenable_percpu() local 519 virq = irq_linear_revmap(armada_370_xp_mpic_domain, irq); in armada_xp_mpic_reenable_percpu() [all …]
|
D | irq-mips-gic.c | 432 static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq, in gic_shared_irq_domain_map() argument 439 data = irq_get_irq_data(virq); in gic_shared_irq_domain_map() 469 static int gic_irq_domain_map(struct irq_domain *d, unsigned int virq, in gic_irq_domain_map() argument 485 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 491 irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq))); in gic_irq_domain_map() 492 return gic_shared_irq_domain_map(d, virq, hwirq, 0); in gic_irq_domain_map() 516 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 522 irq_set_handler(virq, handle_percpu_irq); in gic_irq_domain_map() 526 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 532 irq_set_handler(virq, handle_percpu_devid_irq); in gic_irq_domain_map() [all …]
|
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-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-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-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-loongson-pch-msi.c | 104 unsigned int virq, int hwirq) in pch_msi_parent_domain_alloc() argument 112 return irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in pch_msi_parent_domain_alloc() 116 unsigned int virq, in pch_msi_middle_domain_alloc() argument 127 err = pch_msi_parent_domain_alloc(domain, virq + i, hwirq + i); in pch_msi_middle_domain_alloc() 131 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i, in pch_msi_middle_domain_alloc() 139 irq_domain_free_irqs_parent(domain, virq, i - 1); in pch_msi_middle_domain_alloc() 145 unsigned int virq, in pch_msi_middle_domain_free() argument 148 struct irq_data *d = irq_domain_get_irq_data(domain, virq); in pch_msi_middle_domain_free() 151 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in pch_msi_middle_domain_free()
|
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()
|
D | irq-lpc32xx.c | 169 static int lpc32xx_irq_domain_map(struct irq_domain *id, unsigned int virq, in lpc32xx_irq_domain_map() argument 174 irq_set_chip_data(virq, ic); in lpc32xx_irq_domain_map() 175 irq_set_chip_and_handler(virq, &lpc32xx_chip, handle_level_irq); in lpc32xx_irq_domain_map() 176 irq_set_status_flags(virq, IRQ_LEVEL); in lpc32xx_irq_domain_map() 177 irq_set_noprobe(virq); in lpc32xx_irq_domain_map() 182 static void lpc32xx_irq_domain_unmap(struct irq_domain *id, unsigned int virq) in lpc32xx_irq_domain_unmap() argument 184 irq_set_chip_and_handler(virq, NULL, NULL); in lpc32xx_irq_domain_unmap()
|
D | irq-mvebu-pic.c | 84 static int mvebu_pic_irq_map(struct irq_domain *domain, unsigned int virq, in mvebu_pic_irq_map() argument 89 irq_set_percpu_devid(virq); in mvebu_pic_irq_map() 90 irq_set_chip_data(virq, pic); in mvebu_pic_irq_map() 91 irq_set_chip_and_handler(virq, &mvebu_pic_chip, handle_percpu_devid_irq); in mvebu_pic_irq_map() 92 irq_set_status_flags(virq, IRQ_LEVEL); in mvebu_pic_irq_map() 93 irq_set_probe(virq); in mvebu_pic_irq_map()
|
D | irq-partition-percpu.c | 135 static int partition_domain_alloc(struct irq_domain *domain, unsigned int virq, in partition_domain_alloc() argument 154 irq_set_percpu_devid_partition(virq, &part->parts[hwirq].mask); in partition_domain_alloc() 155 irq_domain_set_info(domain, virq, hwirq, &partition_irq_chip, part, in partition_domain_alloc() 157 irq_set_status_flags(virq, IRQ_NOAUTOEN); in partition_domain_alloc() 162 static void partition_domain_free(struct irq_domain *domain, unsigned int virq, in partition_domain_free() argument 169 d = irq_domain_get_irq_data(domain, virq); in partition_domain_free() 170 irq_set_handler(virq, NULL); in partition_domain_free()
|
/drivers/misc/ocxl/ |
D | afu_irq.c | 13 unsigned int virq; member 58 static irqreturn_t afu_irq_handler(int virq, void *data) in afu_irq_handler() argument 62 trace_ocxl_afu_irq_receive(virq); in afu_irq_handler() 74 irq->virq = irq_create_mapping(NULL, irq->hw_irq); in setup_afu_irq() 75 if (!irq->virq) { in setup_afu_irq() 79 pr_debug("hw_irq %d mapped to virq %u\n", irq->hw_irq, irq->virq); in setup_afu_irq() 81 irq->name = kasprintf(GFP_KERNEL, "ocxl-afu-%u", irq->virq); in setup_afu_irq() 83 irq_dispose_mapping(irq->virq); in setup_afu_irq() 87 rc = request_irq(irq->virq, afu_irq_handler, 0, irq->name, irq); in setup_afu_irq() 91 irq_dispose_mapping(irq->virq); in setup_afu_irq() [all …]
|
D | trace.h | 174 TP_PROTO(int pasid, int irq_id, unsigned int virq, int hw_irq), 175 TP_ARGS(pasid, irq_id, virq, hw_irq), 180 __field(unsigned int, virq) 187 __entry->virq = virq; 194 __entry->virq, 220 TP_PROTO(int virq), 221 TP_ARGS(virq), 224 __field(int, virq) 228 __entry->virq = virq; 232 __entry->virq
|
/drivers/iommu/ |
D | hyperv-iommu.c | 66 unsigned int virq, unsigned int nr_irqs, in hyperv_irq_remapping_alloc() argument 76 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in hyperv_irq_remapping_alloc() 80 irq_data = irq_domain_get_irq_data(domain, virq); in hyperv_irq_remapping_alloc() 82 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_irq_remapping_alloc() 98 unsigned int virq, unsigned int nr_irqs) in hyperv_irq_remapping_free() argument 100 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_irq_remapping_free() 268 unsigned int virq, unsigned int nr_irqs, in hyperv_root_irq_remapping_alloc() argument 279 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in hyperv_root_irq_remapping_alloc() 285 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_root_irq_remapping_alloc() 289 irq_data = irq_domain_get_irq_data(domain, virq); in hyperv_root_irq_remapping_alloc() [all …]
|
/drivers/misc/cxl/ |
D | irq.c | 227 unsigned int virq; in cxl_map_irq() local 231 virq = irq_create_mapping(NULL, hwirq); in cxl_map_irq() 232 if (!virq) { in cxl_map_irq() 238 cxl_ops->setup_irq(adapter, hwirq, virq); in cxl_map_irq() 240 pr_devel("hwirq %#lx mapped to virq %u\n", hwirq, virq); in cxl_map_irq() 242 result = request_irq(virq, handler, 0, name, cookie); in cxl_map_irq() 248 return virq; in cxl_map_irq() 251 void cxl_unmap_irq(unsigned int virq, void *cookie) in cxl_unmap_irq() argument 253 free_irq(virq, cookie); in cxl_unmap_irq() 263 int hwirq, virq; in cxl_register_one_irq() local [all …]
|
/drivers/platform/x86/intel/ |
D | 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/misc/ |
D | hi6421v600-irq.c | 179 static int hi6421v600_irq_map(struct irq_domain *d, unsigned int virq, in hi6421v600_irq_map() argument 184 irq_set_chip_and_handler_name(virq, &hi6421v600_pmu_irqchip, in hi6421v600_irq_map() 186 irq_set_chip_data(virq, priv); in hi6421v600_irq_map() 187 irq_set_irq_type(virq, IRQ_TYPE_NONE); in hi6421v600_irq_map() 223 unsigned int virq; in hi6421v600_irq_probe() local 268 virq = irq_create_mapping(priv->domain, i); in hi6421v600_irq_probe() 269 if (!virq) { in hi6421v600_irq_probe() 273 priv->irqs[i] = virq; in hi6421v600_irq_probe()
|
/drivers/base/ |
D | platform-msi.c | 54 unsigned int virq, irq_hw_number_t hwirq, in platform_msi_init() argument 57 return irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in platform_msi_init() 321 void platform_msi_device_domain_free(struct irq_domain *domain, unsigned int virq, in platform_msi_device_domain_free() argument 327 irq_domain_free_irqs_common(domain, virq, nr_irqs); in platform_msi_device_domain_free() 328 msi_free_msi_descs_range(data->dev, MSI_DESC_ALL, virq, virq + nr_irqs - 1); in platform_msi_device_domain_free() 344 int platform_msi_device_domain_alloc(struct irq_domain *domain, unsigned int virq, in platform_msi_device_domain_alloc() argument 350 return msi_domain_populate_irqs(domain->parent, dev, virq, nr_irqs, &data->arg); in platform_msi_device_domain_alloc()
|
/drivers/power/supply/ |
D | lp8788-charger.c | 87 int virq; member 425 static bool lp8788_find_irq_id(struct lp8788_charger *pchg, int virq, int *id) in lp8788_find_irq_id() argument 431 if (pchg->irqs[i].virq == virq) { in lp8788_find_irq_id() 441 static irqreturn_t lp8788_charger_irq_thread(int virq, void *ptr) in lp8788_charger_irq_thread() argument 447 if (!lp8788_find_irq_id(pchg, virq, &id)) in lp8788_charger_irq_thread() 481 int virq; in lp8788_set_irqs() local 497 virq = irq_create_mapping(irqdm, i); in lp8788_set_irqs() 498 pchg->irqs[nr_irq].virq = virq; in lp8788_set_irqs() 502 ret = request_threaded_irq(virq, NULL, in lp8788_set_irqs() 516 free_irq(pchg->irqs[i].virq, pchg); in lp8788_set_irqs() [all …]
|