/linux/arch/powerpc/sysdev/xics/ |
A D | ics-rtas.c | 35 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_rtas_unmask_irq() 53 __func__, hw_irq, call_status); in ics_rtas_unmask_irq() 69 if (hw_irq == XICS_IPI) in ics_rtas_mask_real_irq() 75 __func__, hw_irq, call_status); in ics_rtas_mask_real_irq() 95 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_rtas_mask_irq() 97 ics_rtas_mask_real_irq(hw_irq); in ics_rtas_mask_irq() 109 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_rtas_set_affinity() 116 __func__, hw_irq, status); in ics_rtas_set_affinity() 128 hw_irq, irq_server); in ics_rtas_set_affinity() 135 __func__, hw_irq, status); in ics_rtas_set_affinity() [all …]
|
A D | ics-opal.c | 50 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_opal_unmask_irq() 60 __func__, d->irq, hw_irq, server, rc); in ics_opal_unmask_irq() 74 if (hw_irq == XICS_IPI) in ics_opal_mask_real_irq() 78 rc = opal_set_xive(hw_irq, server, 0xff); in ics_opal_mask_real_irq() 81 __func__, hw_irq, rc); in ics_opal_mask_real_irq() 90 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_opal_mask_irq() 92 ics_opal_mask_real_irq(hw_irq); in ics_opal_mask_irq() 106 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_opal_set_affinity() 112 __func__, d->irq, hw_irq, rc); in ics_opal_set_affinity() 126 d->irq, hw_irq, wanted_server, server); in ics_opal_set_affinity() [all …]
|
A D | ics-native.c | 134 static int ics_native_check(struct ics *ics, unsigned int hw_irq) in ics_native_check() argument 138 pr_devel("%s: hw_irq=0x%x\n", __func__, hw_irq); in ics_native_check() 140 if (hw_irq < in->ibase || hw_irq >= (in->ibase + in->icount)) in ics_native_check()
|
A D | icp-opal.c | 108 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in icp_opal_eoi() local 112 rc = opal_int_eoi((xics_pop_cppr() << 24) | hw_irq); in icp_opal_eoi()
|
A D | icp-hv.c | 77 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in icp_hv_eoi() local 80 icp_hv_set_xirr((xics_pop_cppr() << 24) | hw_irq); in icp_hv_eoi()
|
A D | icp-native.c | 88 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in icp_native_eoi() local 91 icp_native_set_xirr((xics_pop_cppr() << 24) | hw_irq); in icp_native_eoi()
|
/linux/drivers/irqchip/ |
A D | irq-renesas-intc-irqpin.c | 55 int hw_irq; member 114 int reg, int hw_irq) in intc_irqpin_hwirq_mask() argument 120 int reg, int hw_irq) in intc_irqpin_irq_write_hwirq() argument 181 int hw_irq = irqd_to_hwirq(d); in intc_irqpin_irq_enable() local 190 int hw_irq = irqd_to_hwirq(d); in intc_irqpin_irq_disable() local 199 int hw_irq = irqd_to_hwirq(d); in intc_irqpin_shared_irq_enable() local 204 p->shared_irq_mask &= ~BIT(hw_irq); in intc_irqpin_shared_irq_enable() 210 int hw_irq = irqd_to_hwirq(d); in intc_irqpin_shared_irq_disable() local 215 p->shared_irq_mask |= BIT(hw_irq); in intc_irqpin_shared_irq_disable() 271 int hw_irq = irqd_to_hwirq(d); in intc_irqpin_irq_set_wake() local [all …]
|
A D | irq-renesas-irqc.c | 40 int hw_irq; member 63 dev_dbg(i->p->dev, "%s (%d:%d)\n", str, i->requested_irq, i->hw_irq); in irqc_dbg() 77 int hw_irq = irqd_to_hwirq(d); in irqc_irq_set_type() local 81 irqc_dbg(&p->irq[hw_irq], "sense"); in irqc_irq_set_type() 86 tmp = ioread32(p->iomem + IRQC_CONFIG(hw_irq)); in irqc_irq_set_type() 89 iowrite32(tmp, p->iomem + IRQC_CONFIG(hw_irq)); in irqc_irq_set_type() 96 int hw_irq = irqd_to_hwirq(d); in irqc_irq_set_wake() local 98 irq_set_irq_wake(p->irq[hw_irq].requested_irq, on); in irqc_irq_set_wake() 111 u32 bit = BIT(i->hw_irq); in irqc_irq_handler() 118 generic_handle_domain_irq(p->irq_domain, i->hw_irq); in irqc_irq_handler() [all …]
|
A D | irq-renesas-rza1.c | 71 unsigned int hw_irq = irqd_to_hwirq(d); in rza1_irqc_set_type() local 96 tmp &= ~ICR1_IRQS_MASK(hw_irq); in rza1_irqc_set_type() 97 tmp |= ICR1_IRQS(hw_irq, sense); in rza1_irqc_set_type()
|
A D | irq-bcm7038-l1.c | 379 irq_hw_number_t hw_irq) in bcm7038_l1_map() argument 382 u32 mask = BIT(hw_irq % IRQS_PER_WORD); in bcm7038_l1_map() 383 u32 word = hw_irq / IRQS_PER_WORD; in bcm7038_l1_map()
|
/linux/arch/powerpc/sysdev/xive/ |
A D | xive-internal.h | 41 int (*populate_irq_data)(u32 hw_irq, struct xive_irq_data *data); 42 int (*configure_irq)(u32 hw_irq, u32 target, u8 prio, u32 sw_irq); 43 int (*get_irq_config)(u32 hw_irq, u32 *target, u8 *prio, 54 void (*sync_source)(u32 hw_irq); 55 u64 (*esb_rw)(u32 hw_irq, u32 offset, u64 data, bool write);
|
A D | common.c | 288 hw_irq, target, prio, lirq); in xmon_xive_get_irq_config() 291 d = xive_get_irq_data(hw_irq); in xmon_xive_get_irq_config() 616 d->irq, hw_irq, d); in xive_irq_startup() 639 rc = xive_ops->configure_irq(hw_irq, in xive_irq_startup() 658 d->irq, hw_irq, d); in xive_irq_shutdown() 670 xive_ops->configure_irq(hw_irq, in xive_irq_shutdown() 738 rc = xive_ops->configure_irq(hw_irq, in xive_irq_set_affinity() 877 xive_ops->sync_source(hw_irq); in xive_irq_set_vcpu_affinity() 894 xive_ops->sync_source(hw_irq); in xive_irq_set_vcpu_affinity() 904 rc = xive_ops->configure_irq(hw_irq, in xive_irq_set_vcpu_affinity() [all …]
|
A D | native.c | 55 rc = opal_xive_get_irq_info(hw_irq, &flags, &eoi_page, &trig_page, in xive_native_populate_irq_data() 59 hw_irq, rc); in xive_native_populate_irq_data() 75 pr_err("Failed to map EOI page for irq 0x%x\n", hw_irq); in xive_native_populate_irq_data() 79 data->hw_irq = hw_irq; in xive_native_populate_irq_data() 90 pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq); in xive_native_populate_irq_data() 102 rc = opal_xive_set_irq_config(hw_irq, target, prio, sw_irq); in xive_native_configure_irq() 118 rc = opal_xive_get_irq_config(hw_irq, &vp, prio, &lirq); in xive_native_get_irq_config() 450 void xive_native_sync_source(u32 hw_irq) in xive_native_sync_source() argument 452 opal_xive_sync(XIVE_SYNC_EAS, hw_irq); in xive_native_sync_source() 456 void xive_native_sync_queue(u32 hw_irq) in xive_native_sync_queue() argument [all …]
|
A D | spapr.c | 373 static int xive_spapr_populate_irq_data(u32 hw_irq, struct xive_irq_data *data) in xive_spapr_populate_irq_data() argument 383 rc = plpar_int_get_source_info(0, hw_irq, &flags, &eoi_page, &trig_page, in xive_spapr_populate_irq_data() 398 data->hw_irq = hw_irq; in xive_spapr_populate_irq_data() 416 pr_err("Failed to map EOI page for irq 0x%x\n", hw_irq); in xive_spapr_populate_irq_data() 428 pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq); in xive_spapr_populate_irq_data() 434 static int xive_spapr_configure_irq(u32 hw_irq, u32 target, u8 prio, u32 sw_irq) in xive_spapr_configure_irq() argument 438 rc = plpar_int_set_source_config(XIVE_SRC_SET_EISN, hw_irq, target, in xive_spapr_configure_irq() 444 static int xive_spapr_get_irq_config(u32 hw_irq, u32 *target, u8 *prio, in xive_spapr_get_irq_config() argument 452 rc = plpar_int_get_source_config(0, hw_irq, &h_target, &h_prio, in xive_spapr_get_irq_config() 645 static void xive_spapr_sync_source(u32 hw_irq) in xive_spapr_sync_source() argument [all …]
|
/linux/arch/powerpc/include/asm/ |
A D | xive.h | 47 u32 hw_irq; member 104 int xmon_xive_get_irq_config(u32 hw_irq, struct irq_data *d); 111 int xive_native_populate_irq_data(u32 hw_irq, 116 int xive_native_configure_irq(u32 hw_irq, u32 target, u8 prio, u32 sw_irq); 122 void xive_native_sync_source(u32 hw_irq); 123 void xive_native_sync_queue(u32 hw_irq);
|
/linux/drivers/misc/ocxl/ |
A D | afu_irq.c | 11 int hw_irq; member 73 irq->virq = irq_create_mapping(NULL, irq->hw_irq); in setup_afu_irq() 78 pr_debug("hw_irq %d mapped to virq %u\n", irq->hw_irq, irq->virq); in setup_afu_irq() 127 rc = ocxl_link_irq_alloc(ctx->afu->fn->link, &irq->hw_irq); in ocxl_afu_irq_alloc() 135 trace_ocxl_afu_irq_alloc(ctx->pasid, irq->id, irq->virq, irq->hw_irq); in ocxl_afu_irq_alloc() 143 ocxl_link_free_irq(ctx->afu->fn->link, irq->hw_irq); in ocxl_afu_irq_alloc() 163 ocxl_link_free_irq(ctx->afu->fn->link, irq->hw_irq); in afu_irq_free()
|
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), 181 __field(int, hw_irq) 188 __entry->hw_irq = hw_irq; 195 __entry->hw_irq
|
A D | link.c | 752 int ocxl_link_irq_alloc(void *link_handle, int *hw_irq) in ocxl_link_irq_alloc() argument 766 *hw_irq = irq; in ocxl_link_irq_alloc() 771 void ocxl_link_free_irq(void *link_handle, int hw_irq) in ocxl_link_free_irq() argument 775 xive_native_free_irq(hw_irq); in ocxl_link_free_irq()
|
/linux/kernel/irq/ |
A D | generic-chip.c | 347 __irq_get_domain_generic_chip(struct irq_domain *d, unsigned int hw_irq) in __irq_get_domain_generic_chip() argument 354 idx = hw_irq / dgc->irqs_per_chip; in __irq_get_domain_generic_chip() 366 irq_get_domain_generic_chip(struct irq_domain *d, unsigned int hw_irq) in irq_get_domain_generic_chip() argument 368 struct irq_chip_generic *gc = __irq_get_domain_generic_chip(d, hw_irq); in irq_get_domain_generic_chip() 385 irq_hw_number_t hw_irq) in irq_map_generic_chip() argument 395 gc = __irq_get_domain_generic_chip(d, hw_irq); in irq_map_generic_chip() 399 idx = hw_irq % dgc->irqs_per_chip; in irq_map_generic_chip() 438 unsigned int hw_irq = data->hwirq; in irq_unmap_generic_chip() local 442 gc = irq_get_domain_generic_chip(d, hw_irq); in irq_unmap_generic_chip() 446 irq_idx = hw_irq % dgc->irqs_per_chip; in irq_unmap_generic_chip() [all …]
|
/linux/arch/powerpc/platforms/powernv/ |
A D | opal-irqchip.c | 235 u32 hw_irq; in opal_event_init() local 239 i, &hw_irq); in opal_event_init() 246 virq = irq_create_mapping(NULL, hw_irq); in opal_event_init() 248 pr_warn("Failed to map OPAL irq 0x%x\n", hw_irq); in opal_event_init()
|
/linux/drivers/pci/controller/ |
A D | pci-xgene-msi.c | 294 int msir_index, msir_val, hw_irq, ret; in xgene_msi_isr() local 324 hw_irq = (((msir_index * IRQS_PER_IDX) + intr_index) * in xgene_msi_isr() 331 hw_irq = hwirq_to_canonical_hwirq(hw_irq); in xgene_msi_isr() 332 ret = generic_handle_domain_irq(xgene_msi->inner_domain, hw_irq); in xgene_msi_isr()
|
/linux/Documentation/devicetree/bindings/interrupt-controller/ |
A D | microchip,pic32-evic.txt | 23 <hw_irq irq_type> 25 hw_irq - represents the hardware interrupt number as in the data sheet.
|
/linux/include/misc/ |
A D | ocxl.h | 464 int ocxl_link_irq_alloc(void *link_handle, int *hw_irq); 469 void ocxl_link_free_irq(void *link_handle, int hw_irq);
|
/linux/drivers/gpio/ |
A D | gpio-davinci.c | 354 irq_hw_number_t hw_irq; in gpio_irq_handler() local 370 hw_irq = (bank_num / 2) * 32 + bit; in gpio_irq_handler() 372 generic_handle_domain_irq(d->irq_domain, hw_irq); in gpio_irq_handler()
|
/linux/arch/um/include/asm/ |
A D | Kbuild | 12 generic-y += hw_irq.h
|