Re: [PATCH 19/19] PCI: Set bridge map_irq and swizzle_irq to default functions
From: Rob Herring <robh@kernel.org>
Date: 2022-01-12 15:11:13
Also in:
linux-pci, linux-tegra
On Tue, Jan 11, 2022 at 3:46 PM Bjorn Helgaas [off-list ref] wrote:
[-cc many, +cc iproc, loongson, tegra maintainers] On Tue, Jul 21, 2020 at 08:25:14PM -0600, Rob Herring wrote:quoted
The majority of DT based host drivers use the default .map_irq() and .swizzle_irq() functions, so let's initialize the function pointers to the default and drop setting them in the host drivers. Drivers like iProc which don't support legacy interrupts need to set .map_irq() back to NULL.Probably a dumb question... This patch removed all the ->swizzle_irq users in drivers/pci/, which is great -- IIUC swizzling is specified by the PCI-to-PCI Bridge Spec, r1.2, sec 9.1, and should not be device-specific. I assume the few remaining arch/ users (arm and alpha) are either bugs or workarounds for broken devices. My question is why we still have a few users of ->map_irq: loongson, tegra, iproc. Shouldn't this mapping be described somehow via DT?
Tegra could perhaps be written another way. The mapping is standard, but it's disabling an idle state when PCI interrupts are used. It just needs some way to know if legacy interrupts are being used. iproc looks pretty special with its bcma bus. Adding something to DT doesn't really help because we'd still have to support the old way. Rob _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel