On Sun, Aug 14, 2022 at 04:03:59PM +0200, Andreas Bartelt wrote: > Hi, > > Intel Optane 905p NVMe devices were not yet recognized in CURRENT (e.g., > https://ark.intel.com/content/www/us/en/ark/products/148607/intel-optane-ssd-905p-series-380gb-m-2-110mm-pcie-x4-20nm-3d-xpoint.html > ). > > I've managed to get it working with the following diff: > > Index: pcidevs > =================================================================== > RCS file: /cvs/src/sys/dev/pci/pcidevs,v > retrieving revision 1.2000 > diff -u -p -u -p -r1.2000 pcidevs > --- pcidevs 2 Aug 2022 05:35:01 -0000 1.2000 > +++ pcidevs 14 Aug 2022 13:46:32 -0000 > @@ -4623,6 +4623,7 @@ product INTEL 6321ESB_ACM 0x2699 6321ESB > product INTEL 6321ESB_HDA 0x269a 6321ESB HD Audio > product INTEL 6321ESB_SMB 0x269b 6321ESB SMBus > product INTEL 6321ESB_IDE 0x269e 6321ESB IDE > +product INTEL NVME_6 0x2700 Optane 900P/905P NVMe > product INTEL WL_22500_1 0x2723 Wi-Fi 6 AX200 > product INTEL WL_22500_9 0x2725 Wi-Fi 6 AX210 > product INTEL WL_22500_10 0x2726 Wi-Fi 6 AX211 > > Index: pcidevs.h > =================================================================== > RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v > retrieving revision 1.1994 > diff -u -p -u -p -r1.1994 pcidevs.h > --- pcidevs.h 2 Aug 2022 05:35:34 -0000 1.1994 > +++ pcidevs.h 14 Aug 2022 13:48:44 -0000 > @@ -4628,6 +4628,7 @@ > #define PCI_PRODUCT_INTEL_6321ESB_HDA 0x269a /* 6321ESB HD > Audio */ > #define PCI_PRODUCT_INTEL_6321ESB_SMB 0x269b /* 6321ESB > SMBus */ > #define PCI_PRODUCT_INTEL_6321ESB_IDE 0x269e /* 6321ESB IDE > */ > +#define PCI_PRODUCT_INTEL_NVME_6 0x2700 /* Optane 900P/905P > NVMe */ > #define PCI_PRODUCT_INTEL_WL_22500_1 0x2723 /* Wi-Fi 6 > AX200 */ > #define PCI_PRODUCT_INTEL_WL_22500_9 0x2725 /* Wi-Fi 6 > AX210 */ > #define PCI_PRODUCT_INTEL_WL_22500_10 0x2726 /* Wi-Fi 6 > AX211 */ > > Index: pcidevs_data.h > =================================================================== > RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v > retrieving revision 1.1989 > diff -u -p -u -p -r1.1989 pcidevs_data.h > --- pcidevs_data.h 2 Aug 2022 05:35:34 -0000 1.1989 > +++ pcidevs_data.h 14 Aug 2022 13:49:55 -0000 > @@ -15888,6 +15888,10 @@ static const struct pci_known_product pc > "6321ESB IDE", > }, > { > + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_NVME_6, > + "Optane 900P/905P NVMe", > + }, > + { > PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_WL_22500_1, > "Wi-Fi 6 AX200", > }, > > I've also noticed the following in nvme_pci.c which seems to be related to > some kind of Intel Optane device: > 81 static const struct pci_matchid nvme_msi_blacklist[] = { > 82 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_OPTANE }, > 83 }; > > It is unclear to me if this is also relevant for the Optane 900P/905P > series, i.e., should the line "{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_NVME_6 > }," also be added there? [didn't notice any problems yet without having the > device included there...] > > The affected parts of dmesg after applying the patch: > nvme1 at pci4 dev 0 function 0 "Intel Optane 900P/905P NVMe" rev 0x00: msix, > NVMe 1.0 > nvme1: INTEL SSDPEL1D380GA, firmware E2010603, serial PHMC93620015380A > scsibus3 at nvme1: 2 targets, initiator 0 > sd1 at scsibus3 targ 1 lun 0: <NVMe, INTEL SSDPEL1D38, E201> > sd1: 362476MB, 512 bytes/sector, 742352688 sectors
Intel's windows driver uses PCI\VEN_8086&DEV_F1A6.DeviceDesc = "Intel(R) SSD Pro 7600p/760p/E 6100p Series" PCI\VEN_8086&DEV_F1A8.DeviceDesc = "Intel(R) SSD 660p Series" PCI\VEN_8086&DEV_FAF0.DeviceDesc = "Intel(R) SSD 665p Series" PCI\VEN_8086&DEV_0953.DeviceDesc = "Intel(R) Solid-State Drive P3700/P3600/P3500/P3520/750 Series" PCI\VEN_8086&DEV_0A53.DeviceDesc = "Intel(R) Solid-State Drive DC P3520 Series" PCI\VEN_8086&DEV_0A54.DeviceDesc = "Intel(R) SSD DC P4500/4600/4501/4601/4608/4510/4610/4511 Series" PCI\VEN_8086&DEV_0A55.DeviceDesc = "Intel(R) SSD DC P4600 Series" PCI\VEN_8086&DEV_2700.DeviceDesc = "Intel(R) Optane(tm) SSD 900P/905P Series" PCI\VEN_8086&DEV_2701.DeviceDesc = "Intel(R) Optane(tm) SSD DC P4800X Series" PCI\VEN_8086&DEV_0B60.DeviceDesc = "Intel(R) SSD D7-P5500/P5600 Series" PCI\VEN_8086&DEV_4140.DeviceDesc = "Intel(R) Optane(tm) SSD DC P5800X Series" PCI\VEN_8086&DEV_2525.DeviceDesc = "Intel(R) SSD P1600X Series" 900P/905P are referred to as "Intel Optane SSD 9 Series" on https://ark.intel.com/content/www/us/en/ark/products/series/213701/intel-optane-ssd-9-series.html Index: sys/dev/pci/pcidevs =================================================================== RCS file: /cvs/src/sys/dev/pci/pcidevs,v retrieving revision 1.2000 diff -u -p -r1.2000 pcidevs --- sys/dev/pci/pcidevs 2 Aug 2022 05:35:01 -0000 1.2000 +++ sys/dev/pci/pcidevs 16 Aug 2022 03:09:20 -0000 @@ -4473,7 +4473,7 @@ product INTEL WL_3168_1 0x24fb Dual Ban product INTEL WL_8265_1 0x24fd Dual Band Wireless-AC 8265 product INTEL 82820_HB 0x2501 82820 Host product INTEL 82820_AGP 0x250f 82820 AGP -product INTEL OPTANE 0x2522 Optane +product INTEL OPTANE_P1600X 0x2522 Optane P1600X product INTEL WL_9260_1 0x2526 Dual Band Wireless-AC 9260 product INTEL 82850_HB 0x2530 82850 Host product INTEL 82860_HB 0x2531 82860 Host @@ -4623,6 +4623,7 @@ product INTEL 6321ESB_ACM 0x2699 6321ESB product INTEL 6321ESB_HDA 0x269a 6321ESB HD Audio product INTEL 6321ESB_SMB 0x269b 6321ESB SMBus product INTEL 6321ESB_IDE 0x269e 6321ESB IDE +product INTEL OPTANE_9 0x2700 Optane 9 product INTEL WL_22500_1 0x2723 Wi-Fi 6 AX200 product INTEL WL_22500_9 0x2725 Wi-Fi 6 AX210 product INTEL WL_22500_10 0x2726 Wi-Fi 6 AX211 Index: sys/dev/pci/nvme_pci.c =================================================================== RCS file: /cvs/src/sys/dev/pci/nvme_pci.c,v retrieving revision 1.10 diff -u -p -r1.10 nvme_pci.c --- sys/dev/pci/nvme_pci.c 11 Mar 2022 18:00:51 -0000 1.10 +++ sys/dev/pci/nvme_pci.c 16 Aug 2022 03:10:11 -0000 @@ -79,7 +79,7 @@ nvme_pci_match(struct device *parent, vo } static const struct pci_matchid nvme_msi_blacklist[] = { - { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_OPTANE }, + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_OPTANE_P1600X }, }; void