在2021年6月6日六月 上午5:28,Bjorn Helgaas写道: > both ACPI and DT to rely on it. > > But this quirk applies to [0014:7a09], [0014:7a19], and [0014:7a29], > which look like they are PCIe Root Ports, and your DT ([2]) *does* > seem to describe them with interrupt descriptions. So I assume the > reason DT systems don't care about this quirk is because they use this > IRQ info from DT and ignore the PCI_INTERRUPT_PIN? > > If DT systems ignore the quirk, as you said above, I assume that means > that DT overwrites dev->pin sometime *after* the quirk executes? Or > there's some DT check that means we ignore dev->pin? Can you point me > to whatever this mechanism is? dev->pin won't affect hardware behavior. The only place that kernel uses dev->pin is mapping them to the actual IRQ number. For DT based system, this is handled by of_irq_parse_pci. For the present system, all four INTA,B,C,D are routed to the same upstream IRQ, thus wrong dev->pin will still get correct mapping. I'm unable to get my hand on an ACPI system but I guess Loongson uses different mapping scheme on these systems so dev->pin will matter. Thanks. -- - Jiaxun