Download raw body.
AMD Ryzen 7 PRO 8700GE and Sandisk pcidevs
On Sat, 10 Aug 2024 18:04:33 +1000
Jonathan Gray <jsg@jsg.id.au> wrote:
> 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
You are right, its not clear from any of the information I found online.
Leave it open for now or assign a "general" string to it, e.g. PCIE?
I didn't show the pcidump -v output:
6:0:0: AMD unknown
0x0000: Vendor ID: 1022, Product ID: 14ec
0x0004: Command: 0000, Status: 0010
0x0008: Class: 13 Instrumentation, Subclass: 00 (unknown),
Interface: 00, Revision: 00
0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
Cache Line Size: 10
0x0010: BAR empty (00000000)
0x0014: BAR empty (00000000)
0x0018: BAR empty (00000000)
0x001c: BAR empty (00000000)
0x0020: BAR empty (00000000)
0x0024: BAR empty (00000000)
0x0028: Cardbus CIS: 00000000
0x002c: Subsystem Vendor ID: 1022 Product ID: 14ec
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
0x0048: Capability 0x09: Vendor Specific
0x0050: Capability 0x01: Power Management
State: D0
0x0064: Capability 0x10: PCI Express
Max Payload Size: 256 / 256 bytes
Max Read Request Size: 512 bytes
Link Speed: 16.0 / 16.0 GT/s
Link Width: x16 / x16
0x0100: Enhanced Capability 0x0b: Vendor-Specific
0x0270: Enhanced Capability 0x19: Secondary PCIe Capability
0x02a0: Enhanced Capability 0x0d: Access Control Services
0x0410: Enhanced Capability 0x26: Physical Layer 16.0 GT/s
0x0450: Enhanced Capability 0x27: Lane Margining at the Receiver
>
> >
> > >
> > > > 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
Thanks! New diff for only the disk below.
diff --git sys/dev/pci/pcidevs sys/dev/pci/pcidevs
index 789cedbcbab..0d761ed17a4 100644
--- sys/dev/pci/pcidevs
+++ sys/dev/pci/pcidevs
@@ -8968,6 +8968,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 NVME 0x5017 NVMe
/* Sangoma products */
product SANGOMA A10X 0x0300 A10x
AMD Ryzen 7 PRO 8700GE and Sandisk pcidevs