From: Jonathan Matthew Subject: nvme: remove MSI blacklist To: tech@openbsd.org Date: Fri, 13 Sep 2024 20:36:13 +1000 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,