[PATCH v3 3/5] irqchip/gic-v3-its: Split allocation from initialisation of its_node
Dominic Rath
dominic.rath at ibv-augsburg.net
Tue Oct 24 01:48:31 PDT 2023
Hi,
On Fri, Oct 06, 2023 at 02:59:27PM +0200, Lorenzo Pieralisi wrote:
> From: Marc Zyngier <maz at kernel.org>
>
> In order to pave the way for more fancy quirk handling without making
> more of a mess of this terrible driver, split the allocation of the
> ITS descriptor (its_node) from the actual probing.
it seems that this change breaks MSI-X (MSI?) reception on at least
the TI AM64x, probably most/all of TI's recent devices (K3).
These devices rely on a quirk CONFIG_SOCIONEXT_SYNQUACER_PREITS that
uses an address from the dts specified e.g. as
socionext,synquacer-pre-its = <0x1000000 0x400000>;
to configure a MSI base address that differs from the ARM default.
With this change, the quirk still sets its->get_msi_base and clears
IRQ_DOMAIN_FLAG_ISOLATED_MSI from its->msi_domain_flags during
its_of_probe, but both get overwritten again during its_probe_one
with the defaults.
Previously the defaults would be set first and then the quirks were
applied.
I have no idea whether TI's use of this quirk was "correct", but it did
work, and since 6.6-rc6 MSI-X has been broken for us.
Best Regards,
Dominic
More information about the linux-arm-kernel
mailing list