On Tue, Aug 16, 2022 at 10:11:03AM +0200, Andreas Bartelt wrote:
> On 8/16/22 05:22, Jonathan Gray wrote:
> > 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
> 
> Renaming Intel product with ID 0x2700 to Optane 9 looks good to me and works
> as expected.
> 
> However, it looks to me like there's an ID mismatch w.r.t. 0x2522 / P1600X
> in the diff since, according to the Windows driver info from above, P1600X
> should be 0x2525 instead. The timelines also don't match since the P1600X
> product seems to be quite recent from 02/2021 while the rev. 1.6 commit in
> nvme_pci.c is from 07/2017. I have no idea what 0x2522 refers to.

Ah yes, well spotted.  It is unclear what 0x2522 is so I'll leave it.

PCI\VEN_8086&DEV_2522="Intel OPTANE RAID Controller"
from
https://ftp.ext.hp.com/pub/softpaq/sp111501-112000/sp111646.cva

doesn't appear in
https://downloadmirror.intel.com/677514/Client-x64.zip or
https://downloadmirror.intel.com/677913/Datacenter-x64.zip

> 
> Could you please commit the Optane 9 part?

done, thanks for the patch

Reply via email to