mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Laight <David.Laight@ACULAB.COM>
To: 'Linus Torvalds' <torvalds@linux-foundation.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	Jason Gunthorpe <jgg@nvidia.com>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	Christoph Hellwig <hch@infradead.org>
Subject: RE: revert bab65e48cb064 PCI/MSI Sanitize MSI-X checks
Date: Fri, 7 Apr 2023 12:25:11 +0000	[thread overview]
Message-ID: <dd933c50df674dd69f6e630a53cfee77@AcuMS.aculab.com> (raw)
In-Reply-To: <CAHk-=whd4w2wu13O9b5VRKE1b3MoUk89Q_WzhELyqXGAKmfqmQ@mail.gmail.com>

From: Linus Torvalds
> Sent: 06 April 2023 20:36
> 
> On Thu, Apr 6, 2023 at 4:05 AM David Laight <David.Laight@aculab.com> wrote:
> >
> > So code like:
> >         for (i = 0; i < 16; i++)
> >                 msix_tbl[i].entry = i;
> >         nvec = pci_enable_msix_range(dev, msix_tbl, 1, 16);
> > Now returns -22 if the hardware only supports 8 interrupts.
> >
> > Previously it returned 8.
> 
> Does just moving the pci_msix_validate_entries() down to below the
> hwsize update code fix it?

I think it depends on why the driver is asking for more
interrupts than the hardware supports.
Potentially the driver could do:
	for (i = 0; i < 8; i++)
		msix_tbl[i].entry = 2 * i;
if the hardware supports 8 interrupts perhaps it
should return 4?

In my case both the MSI-X logic on the fpga and the driver
support 16 interrupts, but PCIe config space reports 8.
The high numbered interrupts aren't used very often and get
multiplexed onto the highest 'real' interrupt.
(The fpga build makes it pretty much impossible to tie
together the config space value and the size of the MSI-X
table.)

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)

  parent reply	other threads:[~2023-04-07 12:26 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-06 11:05 David Laight
2023-04-06 15:07 ` Bjorn Helgaas
2023-04-06 15:36   ` David Laight
2023-04-06 19:46   ` Thomas Gleixner
2023-04-06 19:35 ` Linus Torvalds
2023-04-06 21:06   ` Thomas Gleixner
2023-04-07 12:25   ` David Laight [this message]
2023-04-07 19:26     ` Linus Torvalds
2023-04-07 21:31       ` Thomas Gleixner
2023-04-10 19:14         ` [PATCH] PCI/MSI: Remove over-zealous hardware size check in pci_msix_validate_entries() Thomas Gleixner
2023-04-15 21:21           ` [tip: irq/urgent] " tip-bot2 for Thomas Gleixner
2023-04-16 12:18           ` tip-bot2 for Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dd933c50df674dd69f6e630a53cfee77@AcuMS.aculab.com \
    --to=david.laight@aculab.com \
    --cc=bhelgaas@google.com \
    --cc=hch@infradead.org \
    --cc=jgg@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®