Module Name: src Committed By: jdolecek Date: Sat Dec 1 13:31:48 UTC 2018
Modified Files: src/sys/dev/pci: nvme_pci.c Log Message: allow MSI-X even with just one interrupt, on some systems MSI/INTx might not be available (or working, for that matter) To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/dev/pci/nvme_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/nvme_pci.c diff -u src/sys/dev/pci/nvme_pci.c:1.22 src/sys/dev/pci/nvme_pci.c:1.23 --- src/sys/dev/pci/nvme_pci.c:1.22 Sat Dec 1 13:24:45 2018 +++ src/sys/dev/pci/nvme_pci.c Sat Dec 1 13:31:48 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: nvme_pci.c,v 1.22 2018/12/01 13:24:45 jdolecek Exp $ */ +/* $NetBSD: nvme_pci.c,v 1.23 2018/12/01 13:31:48 jdolecek Exp $ */ /* $OpenBSD: nvme_pci.c,v 1.3 2016/04/14 11:18:32 dlg Exp $ */ /* @@ -43,7 +43,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nvme_pci.c,v 1.22 2018/12/01 13:24:45 jdolecek Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nvme_pci.c,v 1.23 2018/12/01 13:31:48 jdolecek Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -398,10 +398,11 @@ nvme_pci_setup_intr(struct pci_attach_ar /* MSI-X */ counts[PCI_INTR_TYPE_MSIX] = uimin(pci_msix_count(pa->pa_pc, pa->pa_tag), ncpu + 1); - if (counts[PCI_INTR_TYPE_MSIX] < 2) { + if (counts[PCI_INTR_TYPE_MSIX] < 1) { counts[PCI_INTR_TYPE_MSIX] = 0; } else if (!nvme_pci_mq || !nvme_pci_mpsafe) { - counts[PCI_INTR_TYPE_MSIX] = 2; /* adminq + 1 ioq */ + if (counts[PCI_INTR_TYPE_MSI] > 2) + counts[PCI_INTR_TYPE_MSIX] = 2; /* adminq + 1 ioq */ } /* MSI */