/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 | 431 static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq, in gic_shared_irq_domain_map() argument 438 data = irq_get_irq_data(virq); in gic_shared_irq_domain_map() 468 static int gic_irq_domain_map(struct irq_domain *d, unsigned int virq, in gic_irq_domain_map() argument 484 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 490 irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq))); in gic_irq_domain_map() 491 return gic_shared_irq_domain_map(d, virq, hwirq, 0); in gic_irq_domain_map() 515 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 521 irq_set_handler(virq, handle_percpu_irq); in gic_irq_domain_map() 525 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 531 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-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-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-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 | qcom-pdc.c | 220 static int qcom_pdc_alloc(struct irq_domain *domain, unsigned int virq, in qcom_pdc_alloc() argument 233 ret = irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in qcom_pdc_alloc() 240 return irq_domain_disconnect_hierarchy(domain->parent, virq); in qcom_pdc_alloc() 254 return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, in qcom_pdc_alloc() 264 static int qcom_pdc_gpio_alloc(struct irq_domain *domain, unsigned int virq, in qcom_pdc_gpio_alloc() argument 278 return irq_domain_disconnect_hierarchy(domain, virq); in qcom_pdc_gpio_alloc() 280 ret = irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in qcom_pdc_gpio_alloc() 287 return irq_domain_disconnect_hierarchy(domain->parent, virq); in qcom_pdc_gpio_alloc() 301 return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, in qcom_pdc_gpio_alloc()
|
D | irq-mvebu-pic.c | 69 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()
|
D | irq-lpc32xx.c | 150 static int lpc32xx_irq_domain_map(struct irq_domain *id, unsigned int virq, in lpc32xx_irq_domain_map() argument 155 irq_set_chip_data(virq, ic); in lpc32xx_irq_domain_map() 156 irq_set_chip_and_handler(virq, &ic->chip, handle_level_irq); in lpc32xx_irq_domain_map() 157 irq_set_status_flags(virq, IRQ_LEVEL); in lpc32xx_irq_domain_map() 158 irq_set_noprobe(virq); in lpc32xx_irq_domain_map() 163 static void lpc32xx_irq_domain_unmap(struct irq_domain *id, unsigned int virq) in lpc32xx_irq_domain_unmap() argument 165 irq_set_chip_and_handler(virq, NULL, NULL); in lpc32xx_irq_domain_unmap()
|
/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 | 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 77 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in hyperv_irq_remapping_alloc() 81 irq_data = irq_domain_get_irq_data(domain, virq); in hyperv_irq_remapping_alloc() 83 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_irq_remapping_alloc() 100 unsigned int virq, unsigned int nr_irqs) in hyperv_irq_remapping_free() argument 102 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_irq_remapping_free() 270 unsigned int virq, unsigned int nr_irqs, in hyperv_root_irq_remapping_alloc() argument 281 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in hyperv_root_irq_remapping_alloc() 287 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_root_irq_remapping_alloc() 291 irq_data = irq_domain_get_irq_data(domain, virq); in hyperv_root_irq_remapping_alloc() [all …]
|
/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/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/base/ |
D | platform-msi.c | 57 unsigned int virq, irq_hw_number_t hwirq, in platform_msi_init() argument 60 return irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in platform_msi_init() 129 static int platform_msi_alloc_descs_with_irq(struct device *dev, int virq, in platform_msi_alloc_descs_with_irq() argument 150 desc->irq = virq ? virq + i : 0; in platform_msi_alloc_descs_with_irq() 385 void platform_msi_domain_free(struct irq_domain *domain, unsigned int virq, in platform_msi_domain_free() argument 393 if (!(desc->irq >= virq && desc->irq < (virq + nvec))) in platform_msi_domain_free() 414 int platform_msi_domain_alloc(struct irq_domain *domain, unsigned int virq, in platform_msi_domain_alloc() argument 420 err = platform_msi_alloc_descs_with_irq(data->dev, virq, nr_irqs, data); in platform_msi_domain_alloc() 425 virq, nr_irqs, &data->arg); in platform_msi_domain_alloc() 427 platform_msi_domain_free(domain, virq, nr_irqs); in platform_msi_domain_alloc()
|
/drivers/misc/ |
D | hi6421v600-irq.c | 180 static int hi6421v600_irq_map(struct irq_domain *d, unsigned int virq, in hi6421v600_irq_map() argument 185 irq_set_chip_and_handler_name(virq, &hi6421v600_pmu_irqchip, in hi6421v600_irq_map() 187 irq_set_chip_data(virq, priv); in hi6421v600_irq_map() 188 irq_set_irq_type(virq, IRQ_TYPE_NONE); in hi6421v600_irq_map() 224 unsigned int virq; in hi6421v600_irq_probe() local 269 virq = irq_create_mapping(priv->domain, i); in hi6421v600_irq_probe() 270 if (!virq) { in hi6421v600_irq_probe() 274 priv->irqs[i] = virq; in hi6421v600_irq_probe()
|
/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 …]
|