/Linux-v4.19/arch/powerpc/sysdev/xics/ |
D | ics-rtas.c | 42 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in ics_rtas_unmask_irq() local 46 pr_devel("xics: unmask virq %d [hw 0x%x]\n", d->irq, hw_irq); in ics_rtas_unmask_irq() 48 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_rtas_unmask_irq() 53 call_status = rtas_call(ibm_set_xive, 3, 1, NULL, hw_irq, server, in ics_rtas_unmask_irq() 58 __func__, hw_irq, server, call_status); in ics_rtas_unmask_irq() 63 call_status = rtas_call(ibm_int_on, 1, 1, NULL, hw_irq); in ics_rtas_unmask_irq() 66 __func__, hw_irq, call_status); in ics_rtas_unmask_irq() 87 static void ics_rtas_mask_real_irq(unsigned int hw_irq) in ics_rtas_mask_real_irq() argument 91 if (hw_irq == XICS_IPI) in ics_rtas_mask_real_irq() 94 call_status = rtas_call(ibm_int_off, 1, 1, NULL, hw_irq); in ics_rtas_mask_real_irq() [all …]
|
D | ics-opal.c | 48 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in ics_opal_unmask_irq() local 52 pr_devel("ics-hal: unmask virq %d [hw 0x%x]\n", d->irq, hw_irq); in ics_opal_unmask_irq() 54 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_opal_unmask_irq() 60 rc = opal_set_xive(hw_irq, server, DEFAULT_PRIORITY); in ics_opal_unmask_irq() 64 __func__, d->irq, hw_irq, server, rc); in ics_opal_unmask_irq() 84 static void ics_opal_mask_real_irq(unsigned int hw_irq) in ics_opal_mask_real_irq() argument 89 if (hw_irq == XICS_IPI) in ics_opal_mask_real_irq() 93 rc = opal_set_xive(hw_irq, server, 0xff); in ics_opal_mask_real_irq() 96 __func__, hw_irq, rc); in ics_opal_mask_real_irq() 101 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in ics_opal_mask_irq() local [all …]
|
D | icp-opal.c | 111 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in icp_opal_eoi() local 115 rc = opal_int_eoi((xics_pop_cppr() << 24) | hw_irq); in icp_opal_eoi()
|
D | icp-hv.c | 81 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in icp_hv_eoi() local 84 icp_hv_set_xirr((xics_pop_cppr() << 24) | hw_irq); in icp_hv_eoi()
|
D | icp-native.c | 93 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in icp_native_eoi() local 96 icp_native_set_xirr((xics_pop_cppr() << 24) | hw_irq); in icp_native_eoi()
|
/Linux-v4.19/drivers/irqchip/ |
D | irq-renesas-intc-irqpin.c | 67 int hw_irq; member 127 int reg, int hw_irq) in intc_irqpin_hwirq_mask() argument 129 return BIT((p->iomem[reg].width - 1) - hw_irq); in intc_irqpin_hwirq_mask() 133 int reg, int hw_irq) in intc_irqpin_irq_write_hwirq() argument 135 intc_irqpin_write(p, reg, intc_irqpin_hwirq_mask(p, reg, hw_irq)); in intc_irqpin_irq_write_hwirq() 188 str, i->requested_irq, i->hw_irq, i->domain_irq); in intc_irqpin_dbg() 194 int hw_irq = irqd_to_hwirq(d); in intc_irqpin_irq_enable() local 196 intc_irqpin_dbg(&p->irq[hw_irq], "enable"); in intc_irqpin_irq_enable() 197 intc_irqpin_irq_write_hwirq(p, INTC_IRQPIN_REG_CLEAR, hw_irq); in intc_irqpin_irq_enable() 203 int hw_irq = irqd_to_hwirq(d); in intc_irqpin_irq_disable() local [all …]
|
D | irq-renesas-irqc.c | 53 int hw_irq; member 77 str, i->requested_irq, i->hw_irq); in irqc_dbg() 91 int hw_irq = irqd_to_hwirq(d); in irqc_irq_set_type() local 95 irqc_dbg(&p->irq[hw_irq], "sense"); in irqc_irq_set_type() 100 tmp = ioread32(p->iomem + IRQC_CONFIG(hw_irq)); in irqc_irq_set_type() 103 iowrite32(tmp, p->iomem + IRQC_CONFIG(hw_irq)); in irqc_irq_set_type() 110 int hw_irq = irqd_to_hwirq(d); in irqc_irq_set_wake() local 112 irq_set_irq_wake(p->irq[hw_irq].requested_irq, on); in irqc_irq_set_wake() 125 u32 bit = BIT(i->hw_irq); in irqc_irq_handler() 132 generic_handle_irq(irq_find_mapping(p->irq_domain, i->hw_irq)); in irqc_irq_handler() [all …]
|
/Linux-v4.19/arch/powerpc/sysdev/xive/ |
D | common.c | 203 val = xive_ops->esb_rw(xd->hw_irq, offset, 0, 0); in xive_esb_read() 217 xive_ops->esb_rw(xd->hw_irq, offset, data, 1); in xive_esb_write() 312 void xive_do_source_eoi(u32 hw_irq, struct xive_irq_data *xd) in xive_do_source_eoi() argument 317 else if (hw_irq && xd->flags & XIVE_IRQ_FLAG_EOI_FW) { in xive_do_source_eoi() 327 xive_ops->eoi(hw_irq); in xive_do_source_eoi() 546 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in xive_irq_startup() local 550 d->irq, hw_irq, d); in xive_irq_startup() 583 rc = xive_ops->configure_irq(hw_irq, in xive_irq_startup() 598 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in xive_irq_shutdown() local 601 d->irq, hw_irq, d); in xive_irq_shutdown() [all …]
|
D | xive-internal.h | 38 int (*populate_irq_data)(u32 hw_irq, struct xive_irq_data *data); 39 int (*configure_irq)(u32 hw_irq, u32 target, u8 prio, u32 sw_irq); 48 void (*eoi)(u32 hw_irq); 49 void (*sync_source)(u32 hw_irq); 50 u64 (*esb_rw)(u32 hw_irq, u32 offset, u64 data, bool write);
|
D | native.c | 47 int xive_native_populate_irq_data(u32 hw_irq, struct xive_irq_data *data) in xive_native_populate_irq_data() argument 56 rc = opal_xive_get_irq_info(hw_irq, &flags, &eoi_page, &trig_page, in xive_native_populate_irq_data() 60 hw_irq, rc); in xive_native_populate_irq_data() 82 pr_err("Failed to map EOI page for irq 0x%x\n", hw_irq); in xive_native_populate_irq_data() 86 data->hw_irq = hw_irq; in xive_native_populate_irq_data() 97 pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq); in xive_native_populate_irq_data() 104 int xive_native_configure_irq(u32 hw_irq, u32 target, u8 prio, u32 sw_irq) in xive_native_configure_irq() argument 109 rc = opal_xive_set_irq_config(hw_irq, target, prio, sw_irq); in xive_native_configure_irq() 373 static void xive_native_eoi(u32 hw_irq) in xive_native_eoi() argument 379 opal_int_eoi(hw_irq); in xive_native_eoi() [all …]
|
D | spapr.c | 337 static int xive_spapr_populate_irq_data(u32 hw_irq, struct xive_irq_data *data) in xive_spapr_populate_irq_data() argument 347 rc = plpar_int_get_source_info(0, hw_irq, &flags, &eoi_page, &trig_page, in xive_spapr_populate_irq_data() 370 pr_err("Failed to map EOI page for irq 0x%x\n", hw_irq); in xive_spapr_populate_irq_data() 374 data->hw_irq = hw_irq; in xive_spapr_populate_irq_data() 384 pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq); in xive_spapr_populate_irq_data() 390 static int xive_spapr_configure_irq(u32 hw_irq, u32 target, u8 prio, u32 sw_irq) in xive_spapr_configure_irq() argument 394 rc = plpar_int_set_source_config(XIVE_SRC_SET_EISN, hw_irq, target, in xive_spapr_configure_irq() 564 static void xive_spapr_eoi(u32 hw_irq) in xive_spapr_eoi() argument 583 static void xive_spapr_sync_source(u32 hw_irq) in xive_spapr_sync_source() argument 586 plpar_int_sync(0, hw_irq); in xive_spapr_sync_source()
|
/Linux-v4.19/drivers/misc/ocxl/ |
D | afu_irq.c | 11 int hw_irq; member 42 irq->virq = irq_create_mapping(NULL, irq->hw_irq); in setup_afu_irq() 47 pr_debug("hw_irq %d mapped to virq %u\n", irq->hw_irq, irq->virq); in setup_afu_irq() 96 rc = ocxl_link_irq_alloc(ctx->afu->fn->link, &irq->hw_irq, in ocxl_afu_irq_alloc() 107 trace_ocxl_afu_irq_alloc(ctx->pasid, irq->id, irq->virq, irq->hw_irq, in ocxl_afu_irq_alloc() 113 ocxl_link_free_irq(ctx->afu->fn->link, irq->hw_irq); in ocxl_afu_irq_alloc() 132 ocxl_link_free_irq(ctx->afu->fn->link, irq->hw_irq); in afu_irq_free()
|
D | trace.h | 110 TP_PROTO(int pasid, int irq_id, unsigned int virq, int hw_irq, 112 TP_ARGS(pasid, irq_id, virq, hw_irq, irq_offset), 118 __field(int, hw_irq) 126 __entry->hw_irq = hw_irq; 134 __entry->hw_irq,
|
D | link.c | 662 int ocxl_link_irq_alloc(void *link_handle, int *hw_irq, u64 *trigger_addr) in ocxl_link_irq_alloc() argument 677 *hw_irq = irq; in ocxl_link_irq_alloc() 683 void ocxl_link_free_irq(void *link_handle, int hw_irq) in ocxl_link_free_irq() argument 687 pnv_ocxl_free_xive_irq(hw_irq); in ocxl_link_free_irq()
|
/Linux-v4.19/arch/powerpc/include/asm/ |
D | xive.h | 48 u32 hw_irq; member 100 extern int xive_native_populate_irq_data(u32 hw_irq, 105 extern int xive_native_configure_irq(u32 hw_irq, u32 target, u8 prio, u32 sw_irq); 111 extern void xive_native_sync_source(u32 hw_irq);
|
/Linux-v4.19/kernel/irq/ |
D | generic-chip.c | 340 __irq_get_domain_generic_chip(struct irq_domain *d, unsigned int hw_irq) in __irq_get_domain_generic_chip() argument 347 idx = hw_irq / dgc->irqs_per_chip; in __irq_get_domain_generic_chip() 359 irq_get_domain_generic_chip(struct irq_domain *d, unsigned int hw_irq) in irq_get_domain_generic_chip() argument 361 struct irq_chip_generic *gc = __irq_get_domain_generic_chip(d, hw_irq); in irq_get_domain_generic_chip() 378 irq_hw_number_t hw_irq) in irq_map_generic_chip() argument 388 gc = __irq_get_domain_generic_chip(d, hw_irq); in irq_map_generic_chip() 392 idx = hw_irq % dgc->irqs_per_chip; in irq_map_generic_chip() 422 irq_domain_set_info(d, virq, hw_irq, chip, gc, ct->handler, NULL, NULL); in irq_map_generic_chip() 431 unsigned int hw_irq = data->hwirq; in irq_unmap_generic_chip() local 435 gc = irq_get_domain_generic_chip(d, hw_irq); in irq_unmap_generic_chip() [all …]
|
/Linux-v4.19/arch/powerpc/platforms/powernv/ |
D | opal-irqchip.c | 242 u32 hw_irq; in opal_event_init() local 246 i, &hw_irq); in opal_event_init() 253 virq = irq_create_mapping(NULL, hw_irq); in opal_event_init() 255 pr_warn("Failed to map OPAL irq 0x%x\n", hw_irq); in opal_event_init()
|
/Linux-v4.19/drivers/pci/controller/ |
D | pci-xgene-msi.c | 295 int msir_index, msir_val, hw_irq; in xgene_msi_isr() local 325 hw_irq = (((msir_index * IRQS_PER_IDX) + intr_index) * in xgene_msi_isr() 332 hw_irq = hwirq_to_canonical_hwirq(hw_irq); in xgene_msi_isr() 333 virq = irq_find_mapping(xgene_msi->inner_domain, hw_irq); in xgene_msi_isr()
|
/Linux-v4.19/include/misc/ |
D | ocxl.h | 215 extern int ocxl_link_irq_alloc(void *link_handle, int *hw_irq, 221 extern void ocxl_link_free_irq(void *link_handle, int hw_irq);
|
/Linux-v4.19/Documentation/devicetree/bindings/interrupt-controller/ |
D | microchip,pic32-evic.txt | 23 <hw_irq irq_type> 25 hw_irq - represents the hardware interrupt number as in the data sheet.
|
/Linux-v4.19/arch/powerpc/kvm/ |
D | book3s_xive_template.c | 75 static void GLUE(X_PFX,source_eoi)(u32 hw_irq, struct xive_irq_data *xd) in GLUE() 80 else if (hw_irq && xd->flags & XIVE_IRQ_FLAG_EOI_FW) in GLUE() 81 opal_int_eoi(hw_irq); in GLUE()
|
/Linux-v4.19/arch/parisc/include/asm/ |
D | Kbuild | 7 generic-y += hw_irq.h
|
/Linux-v4.19/arch/m68k/include/asm/ |
D | Kbuild | 9 generic-y += hw_irq.h
|
/Linux-v4.19/arch/um/include/asm/ |
D | Kbuild | 14 generic-y += hw_irq.h
|
/Linux-v4.19/arch/arm64/include/asm/ |
D | Kbuild | 8 generic-y += hw_irq.h
|