XXV710 has the same broken INTx behavior as the rest of the X/XL710
series, the interrupt status register is not wired to report pending
INTx interrupts, thus we never associate the interrupt to the device.
Extend the device IDs to include these so that we hide that the
device supports INTx at all to the user.
Reported-by: Stefan Assmann <[email protected]>
Signed-off-by: Alex Williamson <[email protected]>
Cc: Jesse Brandeburg <[email protected]>
---
drivers/vfio/pci/vfio_pci.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
index 324c52e3a1a4..063c1ce6fa42 100644
--- a/drivers/vfio/pci/vfio_pci.c
+++ b/drivers/vfio/pci/vfio_pci.c
@@ -195,11 +195,11 @@ static bool vfio_pci_nointx(struct pci_dev *pdev)
switch (pdev->vendor) {
case PCI_VENDOR_ID_INTEL:
switch (pdev->device) {
- /* All i40e (XL710/X710) 10/20/40GbE NICs */
+ /* All i40e (XL710/X710/XXV710) 10/20/25/40GbE NICs */
case 0x1572:
case 0x1574:
case 0x1580 ... 0x1581:
- case 0x1583 ... 0x1589:
+ case 0x1583 ... 0x158b:
case 0x37d0 ... 0x37d2:
return true;
default:
On Wed, Jun 07, 2017 at 01:01:46PM -0600, Alex Williamson wrote:
> XXV710 has the same broken INTx behavior as the rest of the X/XL710
> series, the interrupt status register is not wired to report pending
> INTx interrupts, thus we never associate the interrupt to the device.
> Extend the device IDs to include these so that we hide that the
> device supports INTx at all to the user.
Is vfio really the right place for the list? Shouldn't this be
keyed off the core PCI quirk for these devices?
[+linux-pci]
On Thu, 8 Jun 2017 01:00:17 -0700
Christoph Hellwig <[email protected]> wrote:
> On Wed, Jun 07, 2017 at 01:01:46PM -0600, Alex Williamson wrote:
> > XXV710 has the same broken INTx behavior as the rest of the X/XL710
> > series, the interrupt status register is not wired to report pending
> > INTx interrupts, thus we never associate the interrupt to the device.
> > Extend the device IDs to include these so that we hide that the
> > device supports INTx at all to the user.
>
> Is vfio really the right place for the list? Shouldn't this be
> keyed off the core PCI quirk for these devices?
I sent a separate patch to add these devices to the regular broken INTx
quirk in pci-core:
http://www.spinics.net/lists/linux-pci/msg61971.html
We don't currently have a device flag to specify that INTx is broken in
this particular way that vfio can work around, nor do I really know how
other drivers might make use of this info. If I'm wrong, then
certainly let's make a common way to do this, but this patch is just a
trivial extension to an existing mechanism. Thanks,
Alex
On Wed, 7 Jun 2017 13:01:46 -0600
Alex Williamson <[email protected]> wrote:
> XXV710 has the same broken INTx behavior as the rest of the X/XL710
> series, the interrupt status register is not wired to report pending
> INTx interrupts, thus we never associate the interrupt to the device.
> Extend the device IDs to include these so that we hide that the
> device supports INTx at all to the user.
>
Acked-by: Jesse Brandeburg <[email protected]>