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

Best regards
Andreas

Reply via email to