Re: [PATCH] IRQ/Platform-MSI:Increase the maximum MSIs the MSI framework can support.

From: Marc Zyngier
Date: Mon Dec 21 2015 - 05:37:53 EST


On Mon, 21 Dec 2015 11:18:25 +0800
MaJun <majun258@xxxxxxxxxx> wrote:

> From: Ma Jun <majun258@xxxxxxxxxx>
>
> The current MSI framework can only support 256 platform MSIs.
>
> But on Hisilicon platform, some network related devices has about 500
> wired interrupts.
>
> To support these devices, we need a new maximum value more than 256.
>
> Signed-off-by: Ma Jun <majun258@xxxxxxxxxx>
> ---
> drivers/base/platform-msi.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c
> index a203896..9c00d3f 100644
> --- a/drivers/base/platform-msi.c
> +++ b/drivers/base/platform-msi.c
> @@ -24,7 +24,7 @@
> #include <linux/msi.h>
> #include <linux/slab.h>
>
> -#define DEV_ID_SHIFT 24
> +#define DEV_ID_SHIFT 22
> #define MAX_DEV_MSIS (1 << (32 - DEV_ID_SHIFT))
>
> /*

If we bother doing that, why not directly aligning it with MSI-X and
allow up to 2048 interrupts per device? It is only an extra bit, and
that still leaves 21 bits worth of device IDs, while still having
hwirq as an unsigned long (32bit on 32bit architectures).

Thanks,

M.

--
Without deviation from the norm, progress is not possible.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/