/arch/powerpc/sysdev/xics/ |
D | ics-rtas.c | 29 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in ics_rtas_unmask_irq() local 33 pr_devel("xics: unmask virq %d [hw 0x%x]\n", d->irq, hw_irq); in ics_rtas_unmask_irq() 35 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_rtas_unmask_irq() 40 call_status = rtas_call(ibm_set_xive, 3, 1, NULL, hw_irq, server, in ics_rtas_unmask_irq() 45 __func__, hw_irq, server, call_status); in ics_rtas_unmask_irq() 50 call_status = rtas_call(ibm_int_on, 1, 1, NULL, hw_irq); in ics_rtas_unmask_irq() 53 __func__, hw_irq, call_status); in ics_rtas_unmask_irq() 65 static void ics_rtas_mask_real_irq(unsigned int hw_irq) in ics_rtas_mask_real_irq() argument 69 if (hw_irq == XICS_IPI) in ics_rtas_mask_real_irq() 72 call_status = rtas_call(ibm_int_off, 1, 1, NULL, hw_irq); in ics_rtas_mask_real_irq() [all …]
|
D | ics-opal.c | 44 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in ics_opal_unmask_irq() local 48 pr_devel("ics-hal: unmask virq %d [hw 0x%x]\n", d->irq, hw_irq); in ics_opal_unmask_irq() 50 if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) in ics_opal_unmask_irq() 56 rc = opal_set_xive(hw_irq, server, DEFAULT_PRIORITY); in ics_opal_unmask_irq() 60 __func__, d->irq, hw_irq, server, rc); in ics_opal_unmask_irq() 69 static void ics_opal_mask_real_irq(unsigned int hw_irq) in ics_opal_mask_real_irq() argument 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() 86 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in ics_opal_mask_irq() local [all …]
|
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()
|
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()
|
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()
|
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()
|
/arch/powerpc/sysdev/xive/ |
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);
|
D | native.c | 46 int xive_native_populate_irq_data(u32 hw_irq, struct xive_irq_data *data) in xive_native_populate_irq_data() argument 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() 97 int xive_native_configure_irq(u32 hw_irq, u32 target, u8 prio, u32 sw_irq) in xive_native_configure_irq() argument 102 rc = opal_xive_set_irq_config(hw_irq, target, prio, sw_irq); in xive_native_configure_irq() 111 static int xive_native_get_irq_config(u32 hw_irq, u32 *target, u8 *prio, in xive_native_get_irq_config() argument 118 rc = opal_xive_get_irq_config(hw_irq, &vp, prio, &lirq); in xive_native_get_irq_config() [all …]
|
D | common.c | 215 val = xive_ops->esb_rw(xd->hw_irq, offset, 0, 0); in xive_esb_read() 225 xive_ops->esb_rw(xd->hw_irq, offset, data, 1); in xive_esb_write() 267 static struct irq_data *xive_get_irq_data(u32 hw_irq) in xive_get_irq_data() argument 269 unsigned int irq = irq_find_mapping(xive_irq_domain, hw_irq); in xive_get_irq_data() 274 int xmon_xive_get_irq_config(u32 hw_irq, struct irq_data *d) in xmon_xive_get_irq_config() argument 281 rc = xive_ops->get_irq_config(hw_irq, &target, &prio, &lirq); in xmon_xive_get_irq_config() 283 xmon_printf("IRQ 0x%08x : no config rc=%d\n", hw_irq, rc); in xmon_xive_get_irq_config() 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() 610 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in xive_irq_startup() local [all …]
|
D | spapr.c | 385 static int xive_spapr_populate_irq_data(u32 hw_irq, struct xive_irq_data *data) in xive_spapr_populate_irq_data() argument 395 rc = plpar_int_get_source_info(0, hw_irq, &flags, &eoi_page, &trig_page, in xive_spapr_populate_irq_data() 410 data->hw_irq = hw_irq; in xive_spapr_populate_irq_data() 428 pr_err("Failed to map EOI page for irq 0x%x\n", hw_irq); in xive_spapr_populate_irq_data() 441 pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq); in xive_spapr_populate_irq_data() 447 static int xive_spapr_configure_irq(u32 hw_irq, u32 target, u8 prio, u32 sw_irq) in xive_spapr_configure_irq() argument 451 rc = plpar_int_set_source_config(XIVE_SRC_SET_EISN, hw_irq, target, in xive_spapr_configure_irq() 457 static int xive_spapr_get_irq_config(u32 hw_irq, u32 *target, u8 *prio, in xive_spapr_get_irq_config() argument 465 rc = plpar_int_get_source_config(0, hw_irq, &h_target, &h_prio, in xive_spapr_get_irq_config() 658 static void xive_spapr_sync_source(u32 hw_irq) in xive_spapr_sync_source() argument [all …]
|
/arch/powerpc/include/asm/ |
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);
|
D | opal.h | 122 int64_t opal_pci_msi_eoi(uint64_t phb_id, uint32_t hw_irq);
|
/arch/powerpc/platforms/powernv/ |
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()
|
D | pci-ioda.c | 1991 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d); in pnv_ioda2_msi_eoi() local 1995 rc = opal_pci_msi_eoi(phb->opal_id, hw_irq); in pnv_ioda2_msi_eoi()
|
/arch/um/include/asm/ |
D | Kbuild | 13 generic-y += hw_irq.h
|
/arch/powerpc/kvm/ |
D | book3s_hv_rm_xics.c | 35 static int xics_opal_set_server(unsigned int hw_irq, int server_cpu); 785 static int xics_opal_set_server(unsigned int hw_irq, int server_cpu) in xics_opal_set_server() argument 789 return opal_set_xive(hw_irq, mangle_cpu, DEFAULT_PRIORITY); in xics_opal_set_server()
|
D | book3s_xive.c | 954 unsigned int hw_irq = (unsigned int)irqd_to_hwirq(host_data); in kvmppc_xive_set_mapped() local 963 __func__, guest_irq, host_irq, hw_irq); in kvmppc_xive_set_mapped() 1009 state->pt_number = hw_irq; in kvmppc_xive_set_mapped() 1018 xive_native_configure_irq(hw_irq, in kvmppc_xive_set_mapped() 1030 xive_vm_source_eoi(hw_irq, state->pt_data); in kvmppc_xive_set_mapped()
|
D | book3s_xive_template.c | 72 static void GLUE(X_PFX,source_eoi)(u32 hw_irq, struct xive_irq_data *xd) in GLUE()
|