From: Jan Schreiber Subject: Re: AMD Ryzen 7 PRO 8700GE and Sandisk pcidevs To: Jonathan Gray Cc: tech@openbsd.org Date: Sat, 10 Aug 2024 09:14:04 +0000 On Sat, 10 Aug 2024 18:04:33 +1000 Jonathan Gray 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 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- SERR- > --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