Re: Add Intel Optane 900P/905P NVMe

2022-08-16 Thread Jonathan Gray
On Tue, Aug 16, 2022 at 07:46:22PM +1000, Jonathan Matthew wrote:
> 
> 0x2522 was for the 16/32GB Optane Memory devices.

https://ark.intel.com/content/www/us/en/ark/products/99742/intel-optane-memory-series-32gb-m-2-80mm-pcie-3-0-20nm-3d-xpoint.html
https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/optane-memory-brief.pdf

Model Name  Intel Optane Memory Series
Memory Capacity (GB)16 GB, 32 GB
Interface   PCIe 3.0x2 with NVMe interface
Form Factor M.2 2280-S3-B-M

not to be confused with the Optane branded products which went into
memory slots

they are called Optane Persistent Memory (PMem) or
Data Center Persistent Memory Modules (DCPMM)



Re: Add Intel Optane 900P/905P NVMe

2022-08-16 Thread Jonathan Gray
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 -   1.2000
> > > +++ pcidevs   14 Aug 2022 13:46:32 -
> > > @@ -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_10x2723  Wi-Fi 6 AX200
> > >   product INTEL WL_22500_90x2725  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 -   1.1994
> > > +++ pcidevs.h 14 Aug 2022 13:48:44 -
> > > @@ -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_10x2723  /* Wi-Fi 6 
> > > AX200 */
> > >   #define PCI_PRODUCT_INTEL_WL_22500_90x2725  /* 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.h2 Aug 2022 05:35:34 -   1.1989
> > > +++ pcidevs_data.h14 Aug 2022 13:49:55 -
> > > @@ -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: 
> > > sd1: 362476MB, 512 bytes/sector, 742352688 sectors
> > 
> > Intel's windows driver uses
> > 
> > PCI\VEN_8086_F1A6.DeviceDesc = "Intel(R) SSD Pro 7600p/760p/E 6100p 
> > Series"
> > PCI\VEN_8086_F1A8.DeviceDesc = "Intel(R) SSD 660p Series"
> > PCI\VEN_8086_FAF0.DeviceDesc = "Intel(R) SSD 665p Series"
> > PCI\VEN_8086_0953.DeviceDesc = "Intel(R) Solid-State Drive 
> > P3700/P3600/P3500/P3520/750 Series"
> > PCI\VEN_8086_0A53.DeviceDesc = "Intel(R) Solid-State Drive DC P3520 
> > Series"
> > PCI\VEN_8086_0A54.DeviceDesc = "Intel(R) SSD DC 
> > P4500/4600/4501/4601/4608/4510/4610/4511 Series"
> > PCI\VEN_8086_0A55.DeviceDesc = "Intel(R) SSD DC P4600 Series"
> > PCI\VEN_8086_2700.DeviceDesc = "Intel(R) Optane(tm) SSD 900P/905P 
> > Series"
> > PCI\VEN_8086_2701.DeviceDesc = "Intel(R) Optane(tm) SSD DC P4800X 
> > Series"
> > PCI\VEN_8086_0B60.DeviceDesc = "Intel(R) SSD D7-P5500/P5600 Series"
> > PCI\VEN_8086_4140.DeviceDesc = "Intel(R) Optane(tm) SSD DC P5800X 
> > Series"

Re: Add Intel Optane 900P/905P NVMe

2022-08-16 Thread Andreas Bartelt

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 -   1.2000
+++ pcidevs 14 Aug 2022 13:46:32 -
@@ -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 -   1.1994
+++ pcidevs.h   14 Aug 2022 13:48:44 -
@@ -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_10x2723  /* Wi-Fi 6 
AX200 */
  #define   PCI_PRODUCT_INTEL_WL_22500_90x2725  /* 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 -   1.1989
+++ pcidevs_data.h  14 Aug 2022 13:49:55 -
@@ -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: 
sd1: 362476MB, 512 bytes/sector, 742352688 sectors


Intel's windows driver uses

PCI\VEN_8086_F1A6.DeviceDesc = "Intel(R) SSD Pro 7600p/760p/E 6100p Series"
PCI\VEN_8086_F1A8.DeviceDesc = "Intel(R) SSD 660p Series"
PCI\VEN_8086_FAF0.DeviceDesc = "Intel(R) SSD 665p Series"
PCI\VEN_8086_0953.DeviceDesc = "Intel(R) Solid-State Drive 
P3700/P3600/P3500/P3520/750 Series"
PCI\VEN_8086_0A53.DeviceDesc = "Intel(R) Solid-State Drive DC P3520 Series"
PCI\VEN_8086_0A54.DeviceDesc = "Intel(R) SSD DC 
P4500/4600/4501/4601/4608/4510/4610/4511 Series"
PCI\VEN_8086_0A55.DeviceDesc = "Intel(R) SSD DC P4600 Series"
PCI\VEN_8086_2700.DeviceDesc = "Intel(R) Optane(tm) SSD 900P/905P Series"
PCI\VEN_8086_2701.DeviceDesc = "Intel(R) Optane(tm) SSD DC P4800X Series"
PCI\VEN_8086_0B60.DeviceDesc = "Intel(R) SSD D7-P5500/P5600 Series"
PCI\VEN_8086_4140.DeviceDesc = "Intel(R) Optane(tm) SSD DC P5800X Series"
PCI\VEN_8086_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 -   1.2000
+++ sys/dev/pci/pcidevs 16 Aug 2022 03:09:20 -
@@ -4473,7 +4473,7 @@ product INTEL WL_3168_1   0x24fb  Dual Ban
  product INTEL WL_8265_1   0x24fd  Dual 

Re: Add Intel Optane 900P/905P NVMe

2022-08-15 Thread Jonathan Gray
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 -   1.2000
> +++ pcidevs   14 Aug 2022 13:46:32 -
> @@ -4623,6 +4623,7 @@ product INTEL 6321ESB_ACM   0x2699  6321ESB
>  product INTEL 6321ESB_HDA0x269a  6321ESB HD Audio
>  product INTEL 6321ESB_SMB0x269b  6321ESB SMBus
>  product INTEL 6321ESB_IDE0x269e  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_100x2726  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 -   1.1994
> +++ pcidevs.h 14 Aug 2022 13:48:44 -
> @@ -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_10x2723  /* Wi-Fi 6 
> AX200 */
>  #define  PCI_PRODUCT_INTEL_WL_22500_90x2725  /* 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.h2 Aug 2022 05:35:34 -   1.1989
> +++ pcidevs_data.h14 Aug 2022 13:49:55 -
> @@ -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: 
> sd1: 362476MB, 512 bytes/sector, 742352688 sectors

Intel's windows driver uses

PCI\VEN_8086_F1A6.DeviceDesc = "Intel(R) SSD Pro 7600p/760p/E 6100p Series"
PCI\VEN_8086_F1A8.DeviceDesc = "Intel(R) SSD 660p Series"
PCI\VEN_8086_FAF0.DeviceDesc = "Intel(R) SSD 665p Series"
PCI\VEN_8086_0953.DeviceDesc = "Intel(R) Solid-State Drive 
P3700/P3600/P3500/P3520/750 Series"
PCI\VEN_8086_0A53.DeviceDesc = "Intel(R) Solid-State Drive DC P3520 Series"
PCI\VEN_8086_0A54.DeviceDesc = "Intel(R) SSD DC 
P4500/4600/4501/4601/4608/4510/4610/4511 Series"
PCI\VEN_8086_0A55.DeviceDesc = "Intel(R) SSD DC P4600 Series"
PCI\VEN_8086_2700.DeviceDesc = "Intel(R) Optane(tm) SSD 900P/905P Series"
PCI\VEN_8086_2701.DeviceDesc = "Intel(R) Optane(tm) SSD DC P4800X Series"
PCI\VEN_8086_0B60.DeviceDesc = "Intel(R) SSD D7-P5500/P5600 Series"
PCI\VEN_8086_4140.DeviceDesc = "Intel(R) Optane(tm) SSD DC P5800X Series"
PCI\VEN_8086_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 -   1.2000
+++ sys/dev/pci/pcidevs 16 Aug 2022 03:09:20 -
@@ -4473,7 +4473,7 @@ product INTEL WL_3168_1   

Add Intel Optane 900P/905P NVMe

2022-08-14 Thread Andreas Bartelt

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 -   1.2000
+++ pcidevs 14 Aug 2022 13:46:32 -
@@ -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 -   1.1994
+++ pcidevs.h   14 Aug 2022 13:48:44 -
@@ -4628,6 +4628,7 @@
 #definePCI_PRODUCT_INTEL_6321ESB_HDA   0x269a  /* 6321ESB HD 
Audio */
 #definePCI_PRODUCT_INTEL_6321ESB_SMB   0x269b  /* 6321ESB 
SMBus */
 #definePCI_PRODUCT_INTEL_6321ESB_IDE   0x269e  /* 6321ESB IDE 
*/
+#define PCI_PRODUCT_INTEL_NVME_6   0x2700  /* Optane 900P/905P 
NVMe */
 #definePCI_PRODUCT_INTEL_WL_22500_10x2723  /* Wi-Fi 6 
AX200 */
 #definePCI_PRODUCT_INTEL_WL_22500_90x2725  /* Wi-Fi 6 
AX210 */
 #definePCI_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 -   1.1989
+++ pcidevs_data.h  14 Aug 2022 13:49:55 -
@@ -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: 
sd1: 362476MB, 512 bytes/sector, 742352688 sectors

Best regards
Andreas