Re: [PATCH 19/19] PCI: Set bridge map_irq and swizzle_irq to default functions

Jiaxun Yang
2022-01-12T20:10:32Z

在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.

>
> 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 programed
it in DT. For RS780E we use this rountine 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.

Thanks.

>
> Bjorn

--
- Jiaxun