Index | Thread | Search

From:
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject:
Re: nvme: remove MSI blacklist
To:
Jonathan Matthew <jonathan@d14n.org>
Cc:
tech@openbsd.org
Date:
Fri, 13 Sep 2024 14:13:03 +0200

Download raw body.

Thread
> Date: Fri, 13 Sep 2024 20:36:13 +1000
> From: Jonathan Matthew <jonathan@d14n.org>
> 
> 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,
> 
>