Re: [GIT PULL] IOMMU fix for 5.10 (-final)

From: Suravee Suthikulpanit
Date: Thu Dec 10 2020 - 06:56:46 EST


Hi All,

On 12/10/20 1:50 AM, Will Deacon wrote:
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?

I'll send one out ASAP.


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

Thanks,
Suravee