• Jianmin Lv's avatar
    ACPI / PCI: fix LPIC IRQ model default PCI IRQ polarity · d0c50cc4
    Jianmin Lv authored
    On LoongArch based systems, the PCI devices (e.g. SATA controllers and
    PCI-to-PCI bridge controllers) in Loongson chipsets output high-level
    interrupt signal to the interrupt controller they are connected (see
    Loongson 7A1000 Bridge User Manual v2.00, sec 5.3, "For the bridge chip,
    AC97 DMA interrupts are edge triggered, gpio interrupts can be configured
    to be level triggered or edge triggered as needed, and the rest of the
    interrupts are level triggered and active high."), while the IRQs are
    active low from the perspective of PCI (see Conventional PCI spec r3.0,
    sec 2.2.6, "Interrupts on PCI are optional and defined as level sensitive,
    asserted low."), which means that the interrupt output of PCI devices plugged
    into PCI-to-PCI bridges of Loongson chipset will be also converted to high-level.
    So high level triggered type is required to be passed to acpi_register_gsi()
    when creating mappings for PCI devices.
    Signed-off-by: default avatarJianmin Lv <lvjianmin@loongson.cn>
    Reviewed-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20221022075955.11726-2-lvjianmin@loongson.cn
    d0c50cc4
pci_irq.c 13.2 KB