Re: Why MSI is limited to 32 interrupts maximum

From: okaya
Date: Sat Oct 15 2016 - 12:40:21 EST

On 2016-10-15 06:30, Bharat Kumar Gogada wrote:
On Sat, 15 Oct 2016 12:37:55 +0000
Bharat Kumar Gogada <bharat.kumar.gogada@xxxxxxxxxx> wrote:

Hi Bharat,

> Can anyone tell why MSI interrupts are limited to maximum 32
> interrupts, even though we have 16bit message data register ?

That's the very definition of the original PCI MSI: Up to 32 consecutive interrupts
per function, and a single doorbell address.
MSI-X lifts that restriction and offers up to 2048 interrupts that do not have to
be contiguous can target individual doorbells. Assuming your MSI controller
advertises MSI-X support and that your devices do support it as well, you'll be
able to enjoy those.

Thanks Marc, so then only 5 bits of message data register will be
used, so what is the purpose rest of the bits ?

Data field is used to indicate which interrupt number is used. It does not need to start at 0.

You have 32 consecutive interrupts starting from some arbitrary base.

> Regards,
> Bharat
> This email and any attachments are intended for the sole use of the
> named recipient(s) and contain(s) confidential information that may be
> proprietary, privileged or copyrighted under applicable law. If you
> are not the intended recipient, do not read, copy, or forward this
> email message or any attachments. Delete this email message and any
> attachments immediately.

Please fix your email not to carry such disclaimer (or use a private email address
if you can't work around your company policy). Posting confidential information
on a public mailing list feels a bit silly.


Without deviation from the norm, progress is not possible.
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at