Index | Thread | Search

From:
Jonathan Gray <jsg@jsg.id.au>
Subject:
Re: AMD Ryzen 7 PRO 8700GE and Sandisk pcidevs
To:
Jan Schreiber <jes@posteo.de>
Cc:
tech@openbsd.org
Date:
Sat, 10 Aug 2024 18:04:33 +1000

Download raw body.

Thread
On Sat, Aug 10, 2024 at 06:46:13AM +0000, Jan Schreiber wrote:
> On Sat, 10 Aug 2024 08:51:14 +1000
> Jonathan Gray <jsg@jsg.id.au> wrote:
> 
> > On Fri, Aug 09, 2024 at 09:51:54PM +0000, Jan Schreiber wrote:
> > > Hi,
> > > 
> > > this diff helps to correctly identify the last unknown devices (AMD and
> > > SandDisk) from my dmesg output posted here:
> > > 
> > > https://dmesgd.nycbug.org/index.cgi?do=view&id=7850
> > > 
> > > I couldn't find a "Non-Essential Controller" in pcidevs, so I came up
> > > with the _NEC suffix.
> > > The NVMe device id seems to be used for 3 different things - I tried to
> > > reflect that.
> > > 
> > > jan
> > > 
> > > diff --git sys/dev/pci/pcidevs sys/dev/pci/pcidevs
> > > index 789cedbcbab..be185b89f10 100644
> > > --- sys/dev/pci/pcidevs
> > > +++ sys/dev/pci/pcidevs
> > > @@ -833,6 +833,7 @@ product AMD 19_7X_RC                0x14e8  19h/7xh Root
> > > Complex product AMD 19_7X_IOMMU                0x14e9  19h/7xh IOMMU
> > >  product AMD 19_7X_HB           0x14ea  19h/7xh Host
> > >  product AMD 19_7X_PCIE_1       0x14eb  19h/7xh PCIE
> > > +product AMD 19_7X_NEC          0x14ec  19h/7xh Non-Essential Controller
> > 
> > The Windows driver calls it "PCI" but it does not show as a ppb:
> > 
> > vendor "AMD", unknown product 0x14ec (class instrumentation unknown subclass
> > 0x00, rev 0x00) at pci5 dev 0 function 0 not configured
> > 
> > And was not documented anywhere I could find.
> > 
> > Where did you find that name?
> 
> First I bootet a Linux machine and took look at the lspci -vvv output:
> 
> 05:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc.
> [AMD] Device 14ec Subsystem: Advanced Micro Devices, Inc. [AMD] Device 14ec
>         Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr-
> DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- IOMMU group: 23
> --snip--
> 
> Afterwards I checked 
> https://linux-hardware.org/?view=search&vendorid=1022&deviceid=14ec#list
> and saw that its used in different machines with that CPU family.

"Non-Essential Instrumentation" is just the pci class,
shown in dmesg as "class instrumentation"

so it still isn't clear what the device is

> 
> > 
> > >  product AMD 19_7X_PCIE_2       0x14ed  19h/7xh PCIE
> > >  product AMD 19_7X_PCIE_3       0x14ee  19h/7xh PCIE
> > >  product AMD 19_7X_PCIE_4       0x14ef  19h/7xh PCIE
> > > @@ -8968,6 +8969,7 @@ product SANDISK WDSXXXG3X0C       0x5006  WD Black
> > > NVMe product SANDISK PCSN530                0x5008  PC SN530
> > >  product SANDISK SN850          0x5011  SN850
> > >  product SANDISK PCSN740                0x5015  PC SN740
> > > +product SANDISK PCSN770                0x5017  WD Black SN770/SN740/SN560
> > 
> > a string of "PC SN740" is enough, the driver prints various strings as well
> 
> Wouldn't that make it incorrect with the PCSN770 part that also gets
> reported? Does "WD Black SN770" make more sense with the new id?

The strings in pcidevs need to be short, they are included with
space constrained install images.

as the driver shows the names, pcidevs could just be

product SANDISK NVME	0x5017	NVMe