在2022年1月12日一月 下午9:10,Bjorn Helgaas写道: > On Wed, Jan 12, 2022 at 08:08:45PM +0000, Jiaxun Yang wrote: >> 在2022年1月12日一月 下午3:19,Bjorn Helgaas写道: >> > On Wed, Jan 12, 2022 at 12:57:44PM +0000, Jiaxun Yang wrote: >> >> 在2022年1月11日一月 下午9:46,Bjorn Helgaas写道: >> >> > [-cc many, +cc iproc, loongson, tegra maintainers] >> [...] >> > I see these: >> > >> > Documentation/devicetree/bindings/pci/loongson.yaml >> > arch/mips/boot/dts/loongson/rs780e-pch.dtsi >> > >> > which makes me think there are Loongson systems with DT. Are there >> > some Loongson systems with DT and some legacy ones without? >> >> Actually all present MIPS/Loongson systems are legacy and we just >> built-in DTs in kernel and select which one to use at boot time. > > So I guess you know enough about what platform it is to select which > DT to use, but you don't know enough to know the I8259 routing? > > If you *could* select a DT that described the I8259 routing, I guess > maybe you could select a matching DT or update a DT in-place? > >> > The only driver I see is drivers/pci/controller/pci-loongson.c. >> > Is that used for all Loongson system? It unconditionally uses >> > ->map_irq = loongson_map_irq(). >> >> Yes, it's used among all Loongson systems. For system using LS7A >> PCH the IRQ mapping is fixed so we just programmed it in DT. For >> RS780E we use this routine to read PCI_INTERRUPT_LINE to select >> which I8259 IRQ to use. >> >> > loongson_map_irq() reads PCI_INTERRUPT_LINE; I think that depends >> > on firmware having previously programmed it, right? >> >> I'm unclear about what did firmware do but as AMD RS780E is used in >> x86 PCs as well it should be the same way. > > PCI devices don't use the value in PCI_INTERRUPT_LINE, and the spec > doesn't define a default value. It's only for use by software. > > I'm pretty sure that on ACPI x86, we don't depend on > PCI_INTERRUPT_LINE except for things like quirks. > > I think the ACPI MADT and _PRT are supposed to contain all the INTx > routing information we need. Obviously this isn't an ACPI system. > I'm just making the point that it *should* be possible to remove this > dependency on firmware if we can identify the specific platform (which > determines the I8259 routing). Hi, Thanks for the information, I had send a enquire to Loongson to ask about those details. Patching DT at boot time should be possible :-) Thanks. > > Bjorn -- - Jiaxun