Re: [GIT PULL] IOMMU fix for 5.10 (-final)
From: Will Deacon
Date: Wed Dec 09 2020 - 13:51:08 EST
On Wed, Dec 09, 2020 at 10:07:46AM -0800, Linus Torvalds wrote:
> On Wed, Dec 9, 2020 at 6:12 AM Will Deacon <will@xxxxxxxxxx> wrote:
> >
> > Please pull this one-liner AMD IOMMU fix for 5.10. It's actually a fix
> > for a fix, where the size of the interrupt remapping table was increased
> > but a related constant for the size of the interrupt table was forgotten.
>
> Pulled.
Thanks.
> However, why didn't this then add some sanity checking for the two
> different #defines to be in sync?
>
> IOW, something like
>
> #define AMD_IOMMU_IRQ_TABLE_SHIFT 9
>
> #define MAX_IRQS_PER_TABLE (1 << AMD_IOMMU_IRQ_TABLE_SHIFT)
> #define DTE_IRQ_TABLE_LEN ((u64)AMD_IOMMU_IRQ_TABLE_SHIFT << 1)
>
> or whatever. Hmm?
This looks like a worthwhile change to me, but I don't have any hardware
so I've been very reluctant to make even "obvious" driver changes here.
Suravee -- please can you post a patch implementing the above?
> That way this won't happen again, but perhaps equally importantly the
> linkage will be more clear, and there won't be those random constants.
>
> Naming above is probably garbage - I assume there's some actual
> architectural name for that irq table length field in the DTE?
The one in the spec is even better: "IntTabLen".
Will