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

Reply via email to