[vfio-users] Problems passing through Creative X-Fi PCIe sound card

Alex Williamson alex.williamson at redhat.com
Thu Feb 13 18:52:12 UTC 2020


On Fri, 14 Feb 2020 00:17:43 +1100
Michael Slade <mslade at epic-code.com.au> wrote:

> Adding nointxmask=1 worked!  With no issues at all.  I think because all 
> the devices are getting their own interrupts (on the host) anyway.
> 
> So do you want me to try to add the card to quirks.c?  I could probably 
> manage it, just I haven't compiled a kernel in ~50 years.

Great!  I think the below should work for a quirk, if you can manage to
build a kernel and try it (removing the nointxmask option), it would be
much appreciated.  Thanks,

Alex

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 29f473ebf20f..3fce64ec6d63 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3385,6 +3385,13 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x37d0, quirk_broken_intx_masking);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x37d1, quirk_broken_intx_masking);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x37d2, quirk_broken_intx_masking);
 
+/*
+ * Creative Labs EMU20k2
+ * https://www.redhat.com/archives/vfio-users/2020-February/msg00001.html
+ */
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CREATIVE, PCI_DEVICE_ID_CREATIVE_20K2,
+			quirk_broken_intx_masking);
+
 static u16 mellanox_broken_intx_devs[] = {
 	PCI_DEVICE_ID_MELLANOX_HERMON_SDR,
 	PCI_DEVICE_ID_MELLANOX_HERMON_DDR,




More information about the vfio-users mailing list