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

From: Linus Torvalds
Date: Wed Dec 09 2020 - 14:19:17 EST


On Wed, Dec 9, 2020 at 11:12 AM Jerry Snitselaar <jsnitsel@xxxxxxxxxx> wrote:
>
> Since the field in the device table entry format expects it to be n
> where there are 2^n entries in the table I guess it should be:
>
> #define DTE_IRQ_TABLE_LEN 9
> #define MAX_IRQS_PER_TABLE (1 << DTE_IRQ_TABLE_LEN)

No, that "DTE_IRQ_TABLE_LEN" is not the size shift - it's the size
shift value in that DTE field, which is shifted up by 1.

That's why the current code does that

#define DTE_IRQ_TABLE_LEN (9ULL << 1)

there..

Which was why I suggested that new #define that is the *actual* shift
value, and then the DTE thing and the MAX_IRQS_PER_TABLE values would
depend on that.

Linus