/linux/drivers/acpi/ |
H A D | ioapic.c | 3 * IOAPIC/IOxAPIC/IOSAPIC driver 10 * Based on original drivers/pci/ioapic.c 21 #define pr_fmt(fmt) "ACPI: IOAPIC: " fmt 87 *type = "IOAPIC"; in acpi_is_ioapic() 102 struct acpi_pci_ioapic *ioapic; in handle_ioapic_add() local 111 list_for_each_entry(ioapic, &ioapic_list, list) in handle_ioapic_add() 112 if (ioapic->handle == handle) { in handle_ioapic_add() 123 ioapic = kzalloc(sizeof(*ioapic), GFP_KERNEL); in handle_ioapic_add() 124 if (!ioapic) { in handle_ioapic_add() 125 pr_err("cannot allocate memory for new IOAPIC\n"); in handle_ioapic_add() [all …]
|
H A D | processor_core.c | 342 struct acpi_madt_io_apic *ioapic = (struct acpi_madt_io_apic *)entry; in get_ioapic_id() local 344 if (ioapic->global_irq_base != gsi_base) in get_ioapic_id() 347 *phys_addr = ioapic->address; in get_ioapic_id() 348 *ioapic_id = ioapic->id; in get_ioapic_id() 409 * acpi_get_ioapic_id - Get IOAPIC ID and physical address matching @gsi_base 410 * @handle: ACPI object for IOAPIC device 412 * @phys_addr: Pointer to store physical address of matching IOAPIC record 415 * for an ACPI IOAPIC record matching @gsi_base. 416 * Return IOAPIC id and store physical address in @phys_addr if found a match,
|
H A D | Makefile | 99 obj-$(CONFIG_ACPI_HOTPLUG_IOAPIC) += ioapic.o
|
H A D | acpi_platform.c | 28 {"ACPI000A", 0}, /* IOAPIC */
|
/linux/arch/x86/kernel/apic/ |
H A D | io_apic.c | 107 static struct ioapic { struct 138 static inline int mp_ioapic_pin_count(int ioapic) in mp_ioapic_pin_count() argument 140 struct mp_ioapic_gsi *gsi_cfg = mp_ioapic_gsi_routing(ioapic); in mp_ioapic_pin_count() 145 static inline u32 mp_pin_to_gsi(int ioapic, int pin) in mp_pin_to_gsi() argument 147 return mp_ioapic_gsi_routing(ioapic)->gsi_base + pin; in mp_pin_to_gsi() 155 static inline struct irq_domain *mp_ioapic_irqdomain(int ioapic) in mp_ioapic_irqdomain() argument 157 return ioapics[ioapic].irqdomain; in mp_ioapic_irqdomain() 180 * disable_ioapic_support() - disables ioapic support at runtime 228 pr_err("IOAPIC %d: suspend/resume impossible!\n", idx); in alloc_ioapic_saved_registers() 598 * Restore IO APIC entries which was saved in the ioapic structure. [all …]
|
H A D | vector.c | 3 * Local APIC related interfaces to support IOAPIC, MSI, etc. 588 * Legacy vectors are already assigned when the IOAPIC in x86_vector_alloc_irqs() 670 "intel,ce4100-ioapic"); in x86_fwspec_is_ioapic() 826 /* Check whether the irq is handled by the IOAPIC */ in __setup_vector_irq() 962 * and in the worst case the ioapic irq line becomes stale. in apic_force_complete_move() 976 * able to expose this, but AFAICT the IOAPIC emulation is not in apic_force_complete_move()
|
/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | intel,ce4100-ioapic.yaml | 4 $id: http://devicetree.org/schemas/interrupt-controller/intel,ce4100-ioapic.yaml# 18 from internal sources and from an external I/O APIC (ioapic). 22 Many of the Intel's generic devices like hpet, ioapic, lapic have 32 const: intel,ce4100-ioapic 56 compatible = "intel,ce4100-ioapic";
|
H A D | intel,ce4100-lapic.yaml | 18 from internal sources and from an external I/O APIC (ioapic). 22 Many of the Intel's generic devices like hpet, ioapic, lapic have
|
/linux/arch/x86/kernel/acpi/ |
H A D | boot.c | 74 * Locks related to IOAPIC hotplug 407 int ioapic; in mp_config_acpi_gsi() local 426 ioapic = mp_find_ioapic(gsi); in mp_config_acpi_gsi() 427 mp_irq.dstapic = mpc_ioapic_id(ioapic); in mp_config_acpi_gsi() 428 mp_irq.dstirq = mp_find_ioapic_pin(ioapic, gsi); in mp_config_acpi_gsi() 438 int ioapic, pin; in mp_register_ioapic_irq() local 440 /* Convert 'gsi' to 'ioapic.pin'(INTIN#) */ in mp_register_ioapic_irq() 441 ioapic = mp_find_ioapic(gsi); in mp_register_ioapic_irq() 442 if (ioapic < 0) { in mp_register_ioapic_irq() 443 pr_warn("Failed to find ioapic for gsi : %u\n", gsi); in mp_register_ioapic_irq() [all …]
|
/linux/Documentation/translations/zh_CN/core-api/irq/ |
H A D | irq-domain.rst | 179 Device --> IOAPIC -> Interrupt remapping Controller -> Local APIC -> CPU 183 1) IOAPIC 控制器 200 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)
|
/linux/arch/x86/include/asm/ |
H A D | io_apic.h | 103 extern int mpc_ioapic_id(int ioapic); 104 extern unsigned int mpc_ioapic_addr(int ioapic); 145 extern int mp_find_ioapic_pin(int ioapic, u32 gsi);
|
/linux/drivers/platform/x86/ |
H A D | intel_scu_wdt.c | 37 /* IOAPIC builds identity mapping between GSI and IRQ on MID */ in tangier_probe() 41 dev_warn(&pdev->dev, "cannot find interrupt %d in ioapic\n", gsi); in tangier_probe()
|
/linux/arch/x86/kernel/ |
H A D | mpparse.c | 328 struct mpc_ioapic ioapic; in construct_ioapic_table() local 355 ioapic.type = MP_IOAPIC; in construct_ioapic_table() 356 ioapic.apicid = 2; in construct_ioapic_table() 357 ioapic.apicver = mpc_default_type > 4 ? 0x10 : 0x01; in construct_ioapic_table() 358 ioapic.flags = MPC_APIC_USABLE; in construct_ioapic_table() 359 ioapic.apicaddr = IO_APIC_DEFAULT_PHYS_BASE; in construct_ioapic_table() 360 MP_ioapic_info(&ioapic); in construct_ioapic_table()
|
H A D | devicetree.c | 227 tmp.ioapic.pin = fwspec->param[0]; in dt_irqdomain_alloc() 261 for_each_compatible_node(dn, NULL, "intel,ce4100-ioapic") in dtb_ioapic_setup()
|
/linux/Documentation/core-api/irq/ |
H A D | irq-domain.rst | 219 Device --> IOAPIC -> Interrupt remapping Controller -> Local APIC -> CPU 223 1) IOAPIC controller 240 IOAPIC irq_domain (manage IOAPIC delivery entries/pins)
|
/linux/drivers/iommu/intel/ |
H A D | irq_remapping.c | 312 pr_warn("Failed to set source-id of IOAPIC (%d)\n", apic); in set_ioapic_sid() 914 pr_info("IOAPIC id %d under DRHD base 0x%Lx IOMMU %d\n", in ir_parse_one_ioapic_scope() 958 * Finds the assocaition between IOAPIC's and its Interrupt-remapping 987 pr_err(FW_BUG "ioapic %d has no mapping iommu, " in parse_ioapics_under_ir() 1361 …apic_pr_verbose("IOAPIC[%d]: Set IRTE entry (P:%d FPD:%d Dst_Mode:%d Redir_hint:%d Trig_Mode:%d Dl… in intel_irq_remapping_prepare_irte() 1366 sub_handle = info->ioapic.pin; in intel_irq_remapping_prepare_irte() 1552 pr_warn("DRHD %Lx: failed to parse managed IOAPIC/HPET\n", in dmar_ir_add()
|
/linux/arch/x86/hyperv/ |
H A D | irqdomain.c | 347 device_id.ioapic.ioapic_id = (u8)ioapic_id; in hv_unmap_ioapic_interrupt() 360 device_id.ioapic.ioapic_id = (u8)ioapic_id; in hv_map_ioapic_interrupt()
|
/linux/arch/x86/platform/ce4100/ |
H A D | falconfalls.dts | 34 compatible = "intel,ce4100-ioapic"; 62 compatible = "intel,ce4100-ioapic";
|
H A D | ce4100.c | 89 * PCI memmaped driver hangs the IOAPIC in ce4100_serial_fixup()
|
/linux/arch/x86/kvm/ |
H A D | Makefile | 9 i8254.o ioapic.o irq_comm.o cpuid.o pmu.o mtrr.o \
|
/linux/drivers/platform/x86/x86-android-tablets/ |
H A D | x86-android-tablets.h | 26 * (either IOAPIC index, or GPIO chip name + pin-number).
|
/linux/arch/x86/pci/ |
H A D | intel_mid.c | 276 * MRST only have IOAPIC, the PCI irq lines are 1:1 mapped to in intel_mid_pci_irq_enable() 277 * IOAPIC RTE entries, so we just enable RTE for the device. in intel_mid_pci_irq_enable()
|
/linux/drivers/iommu/ |
H A D | irq_remapping.c | 37 * both IOAPIC RTE as well as interrupt-remapping table entry). in irq_remapping_restore_boot_irq_mode()
|
/linux/drivers/mfd/ |
H A D | intel_soc_pmic_mrfld.c | 24 * as a separate RTE in IOAPIC.
|
/linux/Documentation/virt/ |
H A D | ne_overview.rst | 61 APIC and IOAPIC - to get interrupts from virtio-vsock device. The virtio-mmio
|