/openbmc/linux/arch/x86/kernel/apic/ |
H A D | init.c | 17 DEFINE_APIC_CALL(eoi); 45 apply_override(eoi); in restore_override_callbacks() 66 update_call(eoi); in update_static_calls() 86 apic->native_eoi = apic->eoi; in apic_setup_apic_calls() 101 /* Copy the original eoi() callback as KVM/HyperV might overwrite it */ in apic_install_driver() 103 apic->native_eoi = apic->eoi; in apic_install_driver()
|
/openbmc/u-boot/arch/x86/include/asm/ |
H A D | i8259.h | 45 #define OCW2_NEOI 0x20 /* Non specific EOI */ 47 #define OCW2_SEOI 0x60 /* Specific EOI */ 49 #define OCW2_REOI 0xa0 /* Rotate on non specific EOI */ 51 #define OCW2_RSEOI 0xe0 /* Rotate on specific EOI */ 68 #define ICW4_AEOI 0x02 /* Automatic EOI Mode */
|
/openbmc/linux/arch/powerpc/sysdev/xics/ |
H A D | icp-opal.c | 33 * We take the ipi irq but and never return so we need to EOI the IPI, in icp_opal_flush_ipi() 82 /* We might learn about it later, so EOI it */ in icp_opal_get_irq() 115 * EOI tells us whether there are more interrupts to fetch. in icp_opal_eoi() 169 /* EOI the interrupt */ in icp_opal_flush_interrupt() 177 .eoi = icp_opal_eoi,
|
H A D | icp-hv.c | 53 pr_err("%s: bad return code eoi xirr=0x%x returned %ld\n", in icp_hv_set_xirr() 94 * need to EOI the IPI, but want to leave our priority 0 in icp_hv_flush_ipi() 122 /* We might learn about it later, so EOI it */ in icp_hv_get_irq() 155 .eoi = icp_hv_eoi,
|
H A D | icp-native.c | 106 * need to EOI the IPI, but want to leave our priority 0 in icp_native_flush_ipi() 134 /* We might learn about it later, so EOI it */ in icp_native_get_irq() 190 /* EOI the interrupt */ in icp_native_flush_interrupt() 313 .eoi = icp_native_eoi,
|
/openbmc/linux/tools/testing/selftests/kvm/include/aarch64/ |
H A D | gic.h | 33 * Sets the EOI mode. When split is false, EOI just drops the priority. When 34 * split is true, EOI drops the priority and deactivates the interrupt.
|
/openbmc/linux/drivers/xen/xen-pciback/ |
H A D | pciback_ops.c | 295 bool eoi = true; in xen_pcibk_test_and_schedule_op() local 301 eoi = false; in xen_pcibk_test_and_schedule_op() 308 eoi = false; in xen_pcibk_test_and_schedule_op() 311 /* EOI if there was nothing to do. */ in xen_pcibk_test_and_schedule_op() 312 if (eoi) in xen_pcibk_test_and_schedule_op() 412 bool eoi; in xen_pcibk_handle_event() local 418 eoi = test_and_set_bit(_EOI_pending, &pdev->flags); in xen_pcibk_handle_event() 419 WARN(eoi, "IRQ while EOI pending\n"); in xen_pcibk_handle_event()
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | sysfs-devices-xenbus | 19 Summed up time in jiffies the EOI of an interrupt for a Xen 30 trigger delayed EOI processing. 37 before delayed EOI processing is triggered for a Xen pv
|
/openbmc/linux/arch/x86/kvm/ |
H A D | ioapic.c | 198 * If no longer has pending EOI in LAPICs, update in ioapic_lazy_update_eoi() 199 * EOI for this vector. in ioapic_lazy_update_eoi() 224 * AMD SVM AVIC accelerate EOI write iff the interrupt is edge in ioapic_set_irq() 226 * to receive the EOI. In this case, we do a lazy update of the in ioapic_set_irq() 227 * pending EOI when trying to set IOAPIC irq. in ioapic_set_irq() 236 * us if the interrupt is waiting for an EOI. in ioapic_set_irq() 239 * if it has been already ack-ed via EOI because coalesced RTC in ioapic_set_irq() 241 * EOI manually for the RTC interrupt. in ioapic_set_irq() 287 /* Make sure we see any missing RTC EOI */ in kvm_ioapic_scan_entry() 363 * explicit EOI on IOAPICs that don't have the EOI register. in ioapic_write_indirect() [all …]
|
/openbmc/qemu/qobject/ |
H A D | json-parser.c | 49 * 4) deal with premature EOI 266 parse_error(ctxt, NULL, "premature EOI"); in parse_pair() 279 parse_error(ctxt, NULL, "premature EOI"); in parse_pair() 321 parse_error(ctxt, NULL, "premature EOI"); in parse_object() 332 parse_error(ctxt, NULL, "premature EOI"); in parse_object() 348 parse_error(ctxt, NULL, "premature EOI"); in parse_object() 375 parse_error(ctxt, NULL, "premature EOI"); in parse_array() 392 parse_error(ctxt, NULL, "premature EOI"); in parse_array() 412 parse_error(ctxt, NULL, "premature EOI"); in parse_array() 539 parse_error(ctxt, NULL, "premature EOI"); in parse_value()
|
/openbmc/linux/drivers/irqchip/ |
H A D | irq-i8259.c | 131 * first, _then_ send the EOI, and the order of EOI 164 outb(0x60+(irq&7), PIC_SLAVE_CMD);/* 'Specific EOI' to slave */ in mask_and_ack_8259A() 165 outb(0x60+PIC_CASCADE_IR, PIC_MASTER_CMD); /* 'Specific EOI' to master-IRQ2 */ in mask_and_ack_8259A() 169 outb(0x60+irq, PIC_MASTER_CMD); /* 'Specific EOI to master */ in mask_and_ack_8259A() 245 if (auto_eoi) /* master does Auto EOI */ in init_8259A() 247 else /* master expects normal EOI */ in init_8259A()
|
H A D | irq-clps711x.c | 40 phys_addr_t eoi; member 95 writel_relaxed(0, clps711x_intc->base + clps711x_irqs[hwirq].eoi); in clps711x_intc_eoi() 139 } else if (clps711x_irqs[hw].eoi) { in clps711x_intc_irq_map() 144 if (clps711x_irqs[hw].eoi) in clps711x_intc_irq_map() 145 writel_relaxed(0, clps711x_intc->base + clps711x_irqs[hw].eoi); in clps711x_intc_irq_map()
|
/openbmc/linux/drivers/xen/events/ |
H A D | events_base.c | 113 unsigned short eoi_cpu; /* EOI must happen on this cpu-1 */ 115 u64 eoi_time; /* Time in jiffies when to EOI. */ 561 struct lateeoi_work *eoi = &per_cpu(lateeoi, info->eoi_cpu); in lateeoi_list_del() local 564 spin_lock_irqsave(&eoi->eoi_list_lock, flags); in lateeoi_list_del() 566 spin_unlock_irqrestore(&eoi->eoi_list_lock, flags); in lateeoi_list_del() 571 struct lateeoi_work *eoi = &per_cpu(lateeoi, info->eoi_cpu); in lateeoi_list_add() local 582 spin_lock_irqsave(&eoi->eoi_list_lock, flags); in lateeoi_list_add() 584 elem = list_first_entry_or_null(&eoi->eoi_list, struct irq_info, in lateeoi_list_add() 587 list_add(&info->eoi_list, &eoi->eoi_list); in lateeoi_list_add() 589 &eoi->delayed, delay); in lateeoi_list_add() [all …]
|
/openbmc/linux/arch/x86/kernel/ |
H A D | i8259.c | 149 * first, _then_ send the EOI, and the order of EOI 182 /* 'Specific EOI' to slave */ in mask_and_ack_8259A() 184 /* 'Specific EOI' to master-IRQ2 */ in mask_and_ack_8259A() 189 outb(0x60+irq, PIC_MASTER_CMD); /* 'Specific EOI to master */ in mask_and_ack_8259A() 365 if (auto_eoi) /* master does Auto EOI */ in init_8259A() 367 else /* master expects normal EOI */ in init_8259A()
|
/openbmc/linux/Documentation/virt/kvm/x86/ |
H A D | msr.rst | 319 injection. Value of 1 means that guest can skip writing EOI to the apic 321 EOI by clearing the bit in guest memory - this location will 323 Value of 0 means that the EOI write is required. 326 the APIC EOI write anyway. 337 whether it can skip EOI apic write and between guest 338 clearing it to signal EOI to the hypervisor,
|
/openbmc/qemu/hw/intc/ |
H A D | ioapic.c | 253 * they're bound to the IRQ, to make sure to EOI the in ioapic_eoi_broadcast() 275 * during eoi broadcast, and this lets a buggy guest make in ioapic_eoi_broadcast() 344 * "For IO-APIC's with EOI register, we use that to do an explicit EOI. 345 * Otherwise, we simulate the EOI message manually by changing the trigger 414 /* Explicit EOI is only supported for IOAPIC version 0x20 */ in ioapic_mem_write()
|
/openbmc/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | mstar,mst-intc.yaml | 42 mstar,intc-no-eoi: 44 Mark this controller has no End Of Interrupt(EOI) implementation.
|
/openbmc/linux/arch/powerpc/kvm/ |
H A D | book3s_xive.c | 97 /* If the XIVE supports the new "store EOI facility, use it */ in xive_vm_source_eoi() 102 * For LSIs the HW EOI cycle is used rather than PQ bits, in xive_vm_source_eoi() 111 * Otherwise for EOI, we use the special MMIO that does in xive_vm_source_eoi() 113 * except for LSIs where we use the "EOI cycle" special in xive_vm_source_eoi() 166 * Snapshot the queue page. The test further down for EOI in xive_vm_scan_interrupts() 169 * to miss an EOI. in xive_vm_scan_interrupts() 183 * we EOI it now, thus re-enabling reception of a new in xive_vm_scan_interrupts() 255 * If this is an EOI that's it, no CPPR adjustment done here, in xive_vm_scan_interrupts() 441 /* If it's not an LSI, set PQ to 11 the EOI will force a resend */ in xive_vm_scan_for_rerouted_irqs() 445 /* EOI the source */ in xive_vm_scan_for_rerouted_irqs() [all …]
|
/openbmc/linux/arch/x86/kernel/cpu/ |
H A D | acrn.c | 48 * The hypervisor requires that the APIC EOI should be acked. in DEFINE_IDTENTRY_SYSVEC() 49 * If the APIC EOI is not acked, the APIC ISR bit for the in DEFINE_IDTENTRY_SYSVEC()
|
/openbmc/linux/arch/powerpc/include/asm/ |
H A D | xive-regs.h | 14 * to a queue and is waiting for an EOI). Q indicates that the 20 * When doing an EOI, the Q bit will indicate if the interrupt 28 * Additionally, some ESB pages support doing an EOI via a
|
/openbmc/linux/arch/powerpc/sysdev/xive/ |
H A D | common.c | 351 * as a "replay" because EOI decided there was still something in xive_get_irq() 359 * entry (on HW interrupt) from a replay triggered by EOI, in xive_get_irq() 380 * After EOI'ing an interrupt, we need to re-check the queue 392 DBG_VERBOSE("eoi: pending=0x%02x\n", xc->pending_prio); in xive_do_queue_eoi() 398 * EOI an interrupt at the source. There are several methods 407 /* If the XIVE supports the new "store EOI facility, use it */ in xive_do_source_eoi() 414 * For LSIs, we use the "EOI cycle" special load rather than in xive_do_source_eoi() 437 /* irq_chip eoi callback, called with irq descriptor lock held */ 447 * EOI the source if it hasn't been disabled and hasn't in xive_irq_eoi() 826 * 11, then perform an EOI. in xive_irq_retrigger() [all …]
|
/openbmc/u-boot/drivers/usb/musb-new/ |
H A D | musb_dsps.c | 64 u16 eoi; member 105 .eoi = 0x24, 194 dsps_writel(reg_base, wrp->eoi, 0); in dsps_musb_disable() 321 goto eoi; in dsps_interrupt() 392 eoi: in dsps_interrupt() 393 /* EOI needs to be written for the IRQ to be re-asserted. */ in dsps_interrupt() 395 dsps_writel(reg_base, wrp->eoi, 1); in dsps_interrupt() 464 dsps_writel(reg_base, wrp->eoi, 0); in dsps_musb_init()
|
/openbmc/linux/arch/mips/sibyte/sb1250/ |
H A D | irq.c | 161 * Generate EOI. For Pass 1 parts, EOI is a nop. For in ack_sb1250_irq() 163 * this EOI shouldn't hurt. If they are in ack_sb1250_irq() 164 * level-sensitive, the EOI is required. in ack_sb1250_irq()
|
/openbmc/linux/arch/m68k/atari/ |
H A D | ataints.c | 276 st_mfp.vec_adr = 0x48; /* Software EOI-Mode */ in atari_init_IRQ() 278 st_mfp.vec_adr = 0x40; /* Automatic EOI-Mode */ in atari_init_IRQ() 287 tt_mfp.vec_adr = 0x58; /* Software EOI-Mode */ in atari_init_IRQ() 289 tt_mfp.vec_adr = 0x50; /* Automatic EOI-Mode */ in atari_init_IRQ()
|
/openbmc/linux/Documentation/core-api/ |
H A D | genericirq.rst | 44 - Fast EOI type 235 Default Fast EOI IRQ flow handler 239 which only need an EOI at the end of the handler. 304 EOI Edge IRQ flow handler 359 - ``irq_eoi`` - Optional, required for EOI flow handlers
|