Index | Thread | Search

From:
Jonathan Matthew <jonathan@d14n.org>
Subject:
nvme: remove MSI blacklist
To:
tech@openbsd.org
Date:
Fri, 13 Sep 2024 20:36:13 +1000

Download raw body.

Thread
Some time ago, we disabled use of MSI on exactly one nvme(4) device,
the original Intel Optane Memory, sold in 16GB and 32GB models from 2017
to (I think) 2019, now EOL.

This was before we enabled use of MSI-X in nvme(4), which I've discovered
works fine with these devices.  Better than intx.

Since we haven't found any other devices that need this treatment, the device
it's there for is obsolete, and it's not necessary for that device any more,
I think it makes sense to remove this odd little wart in the code.

ok?


Index: nvme_pci.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/nvme_pci.c,v
diff -u -p -r1.11 nvme_pci.c
--- nvme_pci.c	24 May 2024 06:02:58 -0000	1.11
+++ nvme_pci.c	13 Sep 2024 10:08:28 -0000
@@ -73,10 +73,6 @@ nvme_pci_match(struct device *parent, vo
 	return (0);
 }
 
-static const struct pci_matchid nvme_msi_blacklist[] = {
-	{ PCI_VENDOR_INTEL,	PCI_PRODUCT_INTEL_OPTANE },
-};
-
 void
 nvme_pci_attach(struct device *parent, struct device *self, void *aux)
 {
@@ -91,9 +87,6 @@ nvme_pci_attach(struct device *parent, s
 	sc->sc_dmat = pa->pa_dmat;
 
 	printf(": ");
-
-	if (pci_matchbyid(pa, nvme_msi_blacklist, nitems(nvme_msi_blacklist)))
-		CLR(pa->pa_flags, PCI_FLAGS_MSI_ENABLED);
 
 	maptype = pci_mapreg_type(pa->pa_pc, pa->pa_tag, NVME_PCI_BAR);
 	if (pci_mapreg_map(pa, NVME_PCI_BAR, maptype, 0,