From: Mark Kettenis Subject: Re: nvme: remove MSI blacklist To: Jonathan Matthew Cc: tech@openbsd.org Date: Fri, 13 Sep 2024 14:13:03 +0200 > Date: Fri, 13 Sep 2024 20:36:13 +1000 > From: Jonathan Matthew > > 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? ok kettenis@ > 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, > >