/linux/arch/powerpc/platforms/ps3/ |
A D | interrupt.c | 170 unsigned int *virq) in ps3_virq_setup() argument 184 if (!*virq) { in ps3_virq_setup() 192 outlet, cpu, *virq); in ps3_virq_setup() 244 unsigned int *virq) in ps3_irq_plug_setup() argument 304 ps3_virq_destroy(virq); in ps3_irq_plug_destroy() 331 *virq = 0; in ps3_event_receive_port_setup() 410 *virq = 0; in ps3_sb_event_receive_port_setup() 422 unsigned int virq) in ps3_sb_event_receive_port_destroy() argument 467 unsigned int *virq) in ps3_io_irq_setup() argument 524 unsigned int *virq) in ps3_vuart_irq_setup() argument [all …]
|
/linux/kernel/irq/ |
A D | irqdomain.c | 649 if (!virq) { in irq_create_direct_mapping() 661 if (irq_domain_associate(domain, virq, virq)) { in irq_create_direct_mapping() 666 return virq; in irq_create_direct_mapping() 687 int virq; in irq_create_mapping_affinity() local 704 if (virq) { in irq_create_mapping_affinity() 725 return virq; in irq_create_mapping_affinity() 766 int virq; in irq_create_fwspec_mapping() local 797 if (virq) { in irq_create_fwspec_mapping() 831 if (!virq) in irq_create_fwspec_mapping() 847 return virq; in irq_create_fwspec_mapping() [all …]
|
A D | ipi.c | 28 int virq, i; in irq_reserve_ipi() local 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 309 struct irq_desc *desc = irq_to_desc(virq); in ipi_send_single() [all …]
|
A D | msi.c | 298 ops->msi_free(domain, info, virq + i); in msi_domain_alloc() 316 info->ops->msi_free(domain, info, virq + i); in msi_domain_free() 318 irq_domain_free_irqs_top(domain, virq, nr_irqs); in msi_domain_free() 473 if (!(desc->irq >= virq && desc->irq < (virq + nvec))) in msi_domain_populate_irqs() 489 if (!(desc->irq >= virq && desc->irq < (virq + nvec))) in msi_domain_populate_irqs() 546 int i, ret, virq; in __msi_domain_alloc_irqs() local 559 if (virq < 0) { in __msi_domain_alloc_irqs() 569 irq_set_msi_desc_off(virq, i, desc); in __msi_domain_alloc_irqs() 570 irq_debugfs_copy_devname(virq + i, dev); in __msi_domain_alloc_irqs() 589 virq = desc->irq; in __msi_domain_alloc_irqs() [all …]
|
/linux/drivers/mfd/ |
A D | arizona-irq.c | 196 irq_set_noprobe(virq); in arizona_irq_map() 212 unsigned int virq; in arizona_irq_init() local 317 if (!arizona->virq) { in arizona_irq_init() 324 virq = irq_create_mapping(arizona->virq, ARIZONA_AOD_IRQ_INDEX); in arizona_irq_init() 325 if (!virq) { in arizona_irq_init() 340 virq = irq_create_mapping(arizona->virq, ARIZONA_MAIN_IRQ_INDEX); in arizona_irq_init() 341 if (!virq) { in arizona_irq_init() 433 unsigned int virq; in arizona_irq_exit() local 439 virq = irq_find_mapping(arizona->virq, ARIZONA_MAIN_IRQ_INDEX); in arizona_irq_exit() 441 irq_dispose_mapping(virq); in arizona_irq_exit() [all …]
|
/linux/drivers/vlynq/ |
A D | vlynq.c | 128 int virq; in vlynq_irq_unmask() local 134 val |= (VINT_ENABLE | virq) << VINT_OFFSET(virq); in vlynq_irq_unmask() 141 int virq; in vlynq_irq_mask() local 154 int virq; in vlynq_irq_type() local 206 int virq = 0; in vlynq_irq() local 218 virq++; in vlynq_irq() 248 int i, virq; in vlynq_setup_irq() local 277 virq = i - dev->irq_start; in vlynq_setup_irq() 629 dev->local_irq = virq; in vlynq_set_local_irq() 644 if (virq == dev->local_irq) in vlynq_set_remote_irq() [all …]
|
/linux/arch/powerpc/platforms/cell/ |
A D | spider-pic.c | 161 irq_set_chip_data(virq, h->host_data); in spider_host_map() 165 irq_set_irq_type(virq, IRQ_TYPE_NONE); in spider_host_map() 212 unsigned int virq; in spider_find_cascade_and_node() local 224 if (virq) in spider_find_cascade_and_node() 225 return virq; in spider_find_cascade_and_node() 262 virq = irq_create_mapping(NULL, in spider_find_cascade_and_node() 266 if (!virq) in spider_find_cascade_and_node() 268 return virq; in spider_find_cascade_and_node() 276 int i, virq; in spider_init_one() local 303 if (!virq) in spider_init_one() [all …]
|
A D | axon_msi.c | 255 unsigned int virq, rc; in axon_msi_setup_msi_irqs() local 270 if (!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() 310 irq_set_chip_data(virq, h->host_data); in msic_host_map() 336 unsigned int virq; in axon_msi_probe() local 373 virq = irq_of_parse_and_map(dn, 0); in axon_msi_probe() 374 if (!virq) { in axon_msi_probe() 389 irq_set_handler_data(virq, msic); in axon_msi_probe() [all …]
|
A D | interrupt.c | 133 unsigned int virq; in iic_get_irq() local 141 if (!virq) in iic_get_irq() 145 return virq; in iic_get_irq() 175 int virq; in iic_request_ipi() local 177 virq = irq_create_mapping(iic_host, iic_msg_to_irq(msg)); in iic_request_ipi() 178 if (!virq) { in iic_request_ipi() 188 if (smp_request_message_ipi(virq, msg)) in iic_request_ipi() 189 irq_dispose_mapping(virq); in iic_request_ipi() 210 static int iic_host_map(struct irq_domain *h, unsigned int virq, in iic_host_map() argument 215 irq_set_chip_and_handler(virq, &iic_chip, handle_percpu_irq); in iic_host_map() [all …]
|
/linux/drivers/irqchip/ |
A D | irq-armada-370-xp.c | 372 unsigned int virq, in armada_370_xp_ipi_alloc() argument 378 irq_set_percpu_devid(virq + i); in armada_370_xp_ipi_alloc() 389 unsigned int virq, in armada_370_xp_ipi_free() argument 489 int virq; in armada_xp_mpic_reenable_percpu() local 492 if (virq == 0) in armada_xp_mpic_reenable_percpu() 495 data = irq_get_irq_data(virq); in armada_xp_mpic_reenable_percpu() 549 irq_set_percpu_devid(virq); in armada_370_xp_mpic_irq_map() 557 irq_set_probe(virq); in armada_370_xp_mpic_irq_map() 683 int virq; in armada_370_xp_mpic_resume() local 686 if (virq == 0) in armada_370_xp_mpic_resume() [all …]
|
A D | irq-mips-gic.c | 435 data = irq_get_irq_data(virq); in gic_shared_irq_domain_map() 479 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 486 return gic_shared_irq_domain_map(d, virq, hwirq, 0); in gic_irq_domain_map() 510 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 516 irq_set_handler(virq, handle_percpu_irq); in gic_irq_domain_map() 520 err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, in gic_irq_domain_map() 526 irq_set_handler(virq, handle_percpu_devid_irq); in gic_irq_domain_map() 527 irq_set_percpu_devid(virq); in gic_irq_domain_map() 555 return gic_irq_domain_map(d, virq, hwirq); in gic_irq_domain_alloc() 608 ret = irq_domain_set_hwirq_and_chip(d, virq + i, hwirq, in gic_ipi_domain_alloc() [all …]
|
A 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()
|
/linux/drivers/misc/ocxl/ |
A 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() 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() 90 irq_dispose_mapping(irq->virq); in setup_afu_irq() 99 free_irq(irq->virq, irq); in release_afu_irq() 100 irq_dispose_mapping(irq->virq); in release_afu_irq() [all …]
|
A 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
|
/linux/arch/powerpc/sysdev/xics/ |
A D | xics-common.c | 183 unsigned int irq, virq; in xics_migrate_irqs_away() local 198 for_each_irq_desc(virq, desc) { in xics_migrate_irqs_away() 205 if (virq < NR_IRQS_LEGACY) in xics_migrate_irqs_away() 211 irqd = irq_domain_get_irq_data(xics_host, virq); in xics_migrate_irqs_away() 228 __func__, virq, irq); in xics_migrate_irqs_away() 242 virq, cpu); in xics_migrate_irqs_away() 246 irq_set_affinity(virq, cpu_all_mask); in xics_migrate_irqs_away() 336 irq_clear_status_flags(virq, IRQ_LEVEL); in xics_host_map() 340 irq_set_chip_and_handler(virq, &xics_ipi_chip, in xics_host_map() 444 unsigned int virq, unsigned int nr_irqs) in xics_host_domain_free() argument [all …]
|
/linux/arch/x86/platform/uv/ |
A D | uv_irq.c | 75 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/arch/powerpc/platforms/pasemi/ |
A D | msi.c | 80 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/drivers/iommu/ |
A D | hyperv-iommu.c | 66 unsigned int virq, unsigned int nr_irqs, in hyperv_irq_remapping_alloc() argument 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 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() 294 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_root_irq_remapping_alloc() 308 unsigned int virq, unsigned int nr_irqs) in hyperv_root_irq_remapping_free() argument [all …]
|
/linux/arch/powerpc/platforms/pseries/ |
A D | event_sources.c | 15 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/drivers/misc/cxl/ |
A 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() 247 return virq; in cxl_map_irq() 252 free_irq(virq, cookie); in cxl_unmap_irq() 262 int hwirq, virq; in cxl_register_one_irq() local 271 *dest_virq = virq; in cxl_register_one_irq() 404 unsigned int virq; in afu_release_irqs() local 410 virq = irq_find_mapping(NULL, hwirq); in afu_release_irqs() 411 if (virq) in afu_release_irqs() [all …]
|
/linux/arch/powerpc/sysdev/ |
A D | mpic_u3msi.c | 122 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()
|
A D | fsl_msi.c | 49 int virq; member 93 irq_set_chip_data(virq, msi_data); in fsl_msi_host_map() 184 unsigned int virq; in fsl_setup_msi_irqs() local 248 if (!virq) { in fsl_setup_msi_irqs() 255 irq_set_msi_desc(virq, entry); in fsl_setup_msi_irqs() 258 pci_write_msi_msg(virq, &msg); in fsl_setup_msi_irqs() 323 int virq, i; in fsl_of_msi_remove() local 329 virq = msi->cascade_array[i]->virq; in fsl_of_msi_remove() 331 BUG_ON(!virq); in fsl_of_msi_remove() 335 irq_dispose_mapping(virq); in fsl_of_msi_remove() [all …]
|
/linux/include/linux/ |
A D | irqdomain.h | 113 void (*unmap)(struct irq_domain *d, unsigned int virq); 119 int (*alloc)(struct irq_domain *d, unsigned int virq, 121 void (*free)(struct irq_domain *d, unsigned int virq, 401 extern void irq_dispose_mapping(unsigned int virq); 470 unsigned int virq); 513 unsigned int virq, 518 unsigned int virq, 521 unsigned int virq, unsigned int nr_irqs); 535 unsigned int virq); 577 static inline void irq_domain_free_irqs(unsigned int virq, in irq_domain_free_irqs() argument [all …]
|
/linux/arch/powerpc/platforms/powernv/ |
A D | vas.c | 33 rc = request_threaded_irq(vinst->virq, vas_fault_handler, in vas_irq_fault_window_setup() 38 vinst->vas_id, vinst->virq, rc); in vas_irq_fault_window_setup() 44 free_irq(vinst->virq, vinst); in vas_irq_fault_window_setup() 117 vinst->virq = irq_create_mapping(NULL, hwirq); in init_vas_instance() 118 if (!vinst->virq) { in init_vas_instance() 124 xd = irq_get_handler_data(vinst->virq); in init_vas_instance() 127 vinst->vas_id, vinst->virq); in init_vas_instance() 134 vinst->paste_win_id_shift, vinst->virq, in init_vas_instance() 151 if (vinst->virq) { in init_vas_instance() 159 vinst->virq = 0; in init_vas_instance()
|
/linux/arch/powerpc/include/asm/ |
A D | ps3.h | 181 unsigned int *virq); 182 int ps3_irq_plug_destroy(unsigned int virq); 185 int ps3_send_event_locally(unsigned int virq); 188 unsigned int *virq); 189 int ps3_io_irq_destroy(unsigned int virq); 191 unsigned int *virq); 192 int ps3_vuart_irq_destroy(unsigned int virq); 194 unsigned int class, unsigned int *virq); 195 int ps3_spe_irq_destroy(unsigned int virq); 198 enum ps3_cpu_binding cpu, unsigned int *virq); [all …]
|