Message ID | 20170607190132.22711.46831.stgit@gimli.home (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 <hch@infradead.org> 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 <alex.williamson@redhat.com> 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 <jesse.brandeburg@intel.com>
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:
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 <sassmann@redhat.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> --- drivers/vfio/pci/vfio_pci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)