[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ce88232d-654c-cdc0-89dc-f81ff769fdba@arm.com>
Date: Wed, 31 May 2017 19:29:23 +0100
From: Marc Zyngier <marc.zyngier@....com>
To: Robin Murphy <robin.murphy@....com>, tglx@...utronix.de,
jason@...edaemon.net
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] irqchip/gic-v3-its: Fix MSI alias accounting
On 31/05/17 18:52, Robin Murphy wrote:
> The call to pci_for_each_dma_alias() in the ITS PCI code has aroused
> suspicion in the past, and upon closer inspection does turn out to be
> completely backwards. Rather than iterating through each RID alias of
> the given device, what we actually want to be doing here is iterating
> through all the *other* devices which may also alias the same RID, in
> order to size the table for the worst case.
>
> Do the right thing by ignoring the initial DMA aliases themselves and
> just using that walk to detect an aliasing bridge, then walking back
> down the bus topology as necessary to actually count everything else.
>
> Our alias handling still isn't perfect, since we don't account for the
> cases of certain bridges only taking ownership of transactions under
> particular circumstances, but without completely reworking the ITS code
> to cope with the notion of multiple DevIDs per device, it'll have to do.
>
> Signed-off-by: Robin Murphy <robin.murphy@....com>
Ah, that's pretty neat.
Reviewed-by: Marc Zyngier <marc.zyngier@....com>
I'll queue this for 4.13.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
Powered by blists - more mailing lists