Re: some Ryzen, AMD 500 Chipset, Navi 10 and Kingson pcidev

2021-02-15 Thread Jonathan Gray
On Mon, Feb 08, 2021 at 10:48:26AM +0100, Sven Wolf wrote:
> Hi,
> 
> thanks for your fast response.
> I've chosen "AMD 17_3X_IOMMU" instead of "Starship/Matisse" because in my
> point of view, also the other Ryzen Zen 2 pci devices were named 17_3x (e.g.
> PCI_PRODUCT_AMD_17_3X_RC 0x1480 /* 17h/3xh Root Complex */)

family 17h model 31h is used by zen 2 based epyc 'rome' and
family 17h model 71h is used by zen 2 based desktop ryzen 'matisse'

As you have a 17_7X I'd go with using that and not specifying the model
in the string.

> 
> Maybe I'm wrong, but we should choose the same descriptions for all of the
> Ryzen/Zen devices. We should take the code name e.g. Starship/Matisse or we
> should take the vendor codes e.g. 17h/3x
> (http://developer.amd.com/wp-content/resources/56323-PUB_0.74.pdf) but we
> should not mix them.
> 
> Regarding to the NAVI10 entry. In my case its an RX5700.
> For me it's not clear, when we choose the architecture name and when we
> choose the product name in the pcidevs :(
> I find both of them in the pcidevs
> E.g.
> definePCI_PRODUCT_ATI_RADEON_HD7990   0x679b /* Radeon HD 7990 */
> definePCI_PRODUCT_ATI_TAHITI_50x679f  /* Tahiti */

A product name is preferred but the product names often need
another number like revision id to be identified.

see the table in
https://gitlab.freedesktop.org/mesa/drm/-/blob/master/data/amdgpu.ids
/usr/X11R6/share/libdrm/amdgpu.ids

For example 0x731f
731F,   C0, AMD Radeon RX 5700 XT 50th Anniversary
731F,   C1, AMD Radeon RX 5700 XT
731F,   C2, AMD Radeon RX 5600M
731F,   C3, AMD Radeon RX 5700M
731F,   C4, AMD Radeon RX 5700
731F,   C5, AMD Radeon RX 5700 XT
731F,   CA, AMD Radeon RX 5600 XT
731F,   CB, AMD Radeon RX 5600 OEM

and generally these names aren't known till sometime after the codenames
are known.  Recently AMD have started doing codenames for codenames,
for example Sienna_Cichlid for Navi 21.

how about this?

Index: pcidevs
===
RCS file: /cvs/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1955
diff -u -p -r1.1955 pcidevs
--- pcidevs 14 Feb 2021 17:20:47 -  1.1955
+++ pcidevs 16 Feb 2021 05:14:35 -
@@ -346,6 +346,7 @@ vendor  AMPERE  0x1def  Ampere
 vendor SSSTC   0x1e95  SSSTC
 vendor TEHUTI  0x1fc9  Tehuti Networks
 vendor SUNIX2  0x1fd4  Sunix
+vendor KINGSTON0x2646  Kingston
 vendor HINT0x3388  Hint
 vendor 3DLABS  0x3d3d  3D Labs
 vendor AVANCE2 0x4005  Avance Logic
@@ -722,6 +723,14 @@ product AMD 15_3X_PCIE_1   0x1424  15h PCIE
 product AMD 15_3X_PCIE_2   0x1425  15h PCIE
 product AMD 15_3X_PCIE_3   0x1426  15h PCIE
 product AMD 16_PCIE0x1439  16h PCIE
+product AMD 17_7X_DF_1 0x1440  17h Data Fabric
+product AMD 17_7X_DF_2 0x1441  17h Data Fabric
+product AMD 17_7X_DF_3 0x1442  17h Data Fabric
+product AMD 17_7X_DF_4 0x1443  17h Data Fabric
+product AMD 17_7X_DF_5 0x1444  17h Data Fabric
+product AMD 17_7X_DF_6 0x1445  17h Data Fabric
+product AMD 17_7X_DF_7 0x1446  17h Data Fabric
+product AMD 17_7X_DF_8 0x1447  17h Data Fabric
 product AMD 17_6X_DF_0 0x1448  17h/6xh Data Fabric
 product AMD 17_6X_DF_1 0x1449  17h/6xh Data Fabric
 product AMD 17_6X_DF_2 0x144a  17h/6xh Data Fabric
@@ -750,9 +759,14 @@ product AMD 17_DF_80x1467  17h Data Fab
 product AMD 17_CCP_2   0x1468  17h Crypto
 product AMD 17_PCIE_4  0x1470  17h PCIE
 product AMD 17_PCIE_5  0x1471  17h PCIE
-product AMD 17_3X_RC   0x1480  17h/3xh Root Complex
-product AMD 17_3X_CCP  0x1486  17h/3xh Crypto
-product AMD 17_3X_HDA  0x1487  17h/3xh HD Audio
+product AMD 17_3X_RC   0x1480  17h Root Complex
+product AMD 17_7X_IOMMU0x1481  17h IOMMU
+product AMD 17_7X_HB   0x1482  17h Host
+product AMD 17_7X_PCIE_1   0x1483  17h PCIE
+product AMD 17_7X_PCIE_2   0x1484  17h PCIE
+product AMD 17_3X_CCP  0x1486  17h Crypto
+product AMD 17_3X_HDA  0x1487  17h HD Audio
+product AMD 17_7X_XHCI 0x149c  17h xHCI
 product AMD 14_HB  0x1510  14h Host
 product AMD 14_PCIE_1  0x1512  14h PCIE
 product AMD 14_PCIE_2  0x1513  14h PCIE
@@ -861,6 +875,10 @@ product AMD 400SERIES_PCIE_1   0x43c6  400 
 product AMD 400SERIES_PCIE_2   0x43c7  400 Series PCIE
 product AMD 400SERIES_AHCI 0x43c8  400 Series AHCI
 product AMD 400SERIES_XHCI 0x43d0  400 Series xHCI
+product AMD 500SERIES_PCIE_1   0x43e9  500 Series PCIE
+product AMD 500SERIES_PCIE_2   0x43ea  500 Series PCIE
+product AMD 500SERIES_AHCI 0x43eb  500 Series AHCI
+product AMD 500SERIES_XHCI 0x43ee  500 Series xHCI
 /* http://www.amd.com/products/cpg/athlon/techdocs/pdf/21910.pdf */
 product AMD SC751_SC   0x7006  751 System
 product AMD 

Re: some Ryzen, AMD 500 Chipset, Navi 10 and Kingson pcidev

2021-02-08 Thread Sven Wolf

Hi,

thanks for your fast response.
I've chosen "AMD 17_3X_IOMMU" instead of "Starship/Matisse" because in 
my point of view, also the other Ryzen Zen 2 pci devices were named 
17_3x (e.g. PCI_PRODUCT_AMD_17_3X_RC 0x1480 /* 17h/3xh Root Complex */)


Maybe I'm wrong, but we should choose the same descriptions for all of 
the Ryzen/Zen devices. We should take the code name e.g. 
Starship/Matisse or we should take the vendor codes e.g. 17h/3x 
(http://developer.amd.com/wp-content/resources/56323-PUB_0.74.pdf) but 
we should not mix them.


Regarding to the NAVI10 entry. In my case its an RX5700.
For me it's not clear, when we choose the architecture name and when we 
choose the product name in the pcidevs :(

I find both of them in the pcidevs
E.g.
define  PCI_PRODUCT_ATI_RADEON_HD7990   0x679b /* Radeon HD 7990 */
define  PCI_PRODUCT_ATI_TAHITI_50x679f  /* Tahiti */


Here is the lscpi output from Linux:
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse Root Complex [1022:1480]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse IOMMU [1022:1481]
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse GPP Bridge [1022:1483]
00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse GPP Bridge [1022:1483]
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse GPP Bridge [1022:1483]
00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
00:05.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
00:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
00:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 
Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus 
Controller [1022:790b] (rev 61)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC 
Bridge [1022:790e] (rev 51)
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse 
Device 24: Function 0 [1022:1440]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse 
Device 24: Function 1 [1022:1441]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse 
Device 24: Function 2 [1022:1442]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse 
Device 24: Function 3 [1022:1443]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse 
Device 24: Function 4 [1022:1444]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse 
Device 24: Function 5 [1022:1445]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse 
Device 24: Function 6 [1022:1446]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse 
Device 24: Function 7 [1022:1447]
01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co 
Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
02:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device 
[1022:43ee]
02:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 
Device [1022:43eb]
02:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device 
[1022:43e9]
03:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device 
[1022:43ea]
03:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device 
[1022:43ea]
03:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device 
[1022:43ea]
03:09.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device 
[1022:43ea]
05:00.0 Non-Volatile memory controller [0108]: Kingston Technology 
Company, Inc. A2000 NVMe SSD [2646:2263] (rev 03)
06:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 
[8086:2723] (rev 1a)
07:00.0 Ethernet controller [0200]: Intel Corporation Ethernet 
Controller I225-V [8086:15f3] (rev 02)
08:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 
10 XL Upstream Port of PCI Express Switch [1002:1478] (rev c1)
09:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 
10 XL Downstream Port of PCI Express Switch [1002:1479]
0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. 
[AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] 
[1002:731f] (rev c1)

Re: some Ryzen, AMD 500 Chipset, Navi 10 and Kingson pcidev

2021-02-08 Thread Stuart Henderson
On 2021/02/08 10:54, Jonathan Gray wrote:
> On Sun, Feb 07, 2021 at 07:58:52PM +0100, Sven Wolf wrote:
> > Hi,
> > 
> > I've added some Ryzen 3xxx, AMD 500 Chipset, Navi 10 and Kingston ids to
> > pcidev. I've taken the description from the Linux PCI device ids
> > https://pci-ids.ucw.cz/v2.2/pci.ids

The names don't match the entries in pci.ids:

> > +product AMD 17_3X_DEV_10x1440  17h/3xh Device 24
> > +product AMD 17_3X_DEV_20x1441  17h/3xh Device 24
> > +product AMD 17_3X_DEV_30x1442  17h/3xh Device 24
> > +product AMD 17_3X_DEV_40x1443  17h/3xh Device 24
> > +product AMD 17_3X_DEV_50x1444  17h/3xh Device 24
> > +product AMD 17_3X_DEV_60x1445  17h/3xh Device 24
> > +product AMD 17_3X_DEV_70x1446  17h/3xh Device 24
> > +product AMD 17_3X_DEV_80x1447  17h/3xh Device 24
> 
> "Device 24"?
> 
> I would expect desktop Ryzen 3xxx to be 17h/71h.

pci.ids has these as "Matisse Device 24: Function 0..7"

> > +product AMD 17_3X_IOMMU0x1481  17h/3xh IOMMU
> > +product AMD 17_3X_PCIE_1   0x1482  17h/3xh PCIE
> > +product AMD 17_3X_GPP_10x1483  17h/3xh GPP
> > +product AMD 17_3X_GPP_20x1484  17h/3xh GPP
> >  product AMD 17_3X_CCP  0x1486  17h/3xh Crypto
> >  product AMD 17_3X_HDA  0x1487  17h/3xh HD Audio

1480  Starship/Matisse Root Complex
1462 7c37  X570-A PRO motherboard
1481  Starship/Matisse IOMMU
1482  Starship/Matisse PCIe Dummy Host Bridge
1483  Starship/Matisse GPP Bridge
1484  Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
1485  Starship/Matisse Reserved SPP
1486  Starship/Matisse Cryptographic Coprocessor PSPCPP


> >  product AMD 400SERIES_PCIE_2   0x43c7  400 Series PCIE
> >  product AMD 400SERIES_AHCI 0x43c8  400 Series AHCI
> >  product AMD 400SERIES_XHCI 0x43d0  400 Series xHCI
> > +product AMD 500SERIES_AHCI 0x43eb  500 Series AHCI
> > +product AMD 500SERIES_XHCI 0x43ee  500 Series xHCI
> > +product AMD 500SERIES_PCIE_1   0x43e9  500 Series PCI Bridge
> > +product AMD 500SERIES_PCIE_2   0x43ea  500 Series PCI Bridge

missing in pci.ids, but so is 43d0.
The new entries here are out of order.

> > +product ATI NAVI10_9   0x1478  Radeon RX5000
> > +product ATI NAVI10_10  0x1479  Radeon RX5000
> 
> Where are these from?  They are not matched in amdgpu.

1478  Navi 10 XL Upstream Port of PCI Express Switch
1479  Navi 10 XL Downstream Port of PCI Express Switch



Re: some Ryzen, AMD 500 Chipset, Navi 10 and Kingson pcidev

2021-02-07 Thread Jonathan Gray
On Sun, Feb 07, 2021 at 07:58:52PM +0100, Sven Wolf wrote:
> Hi,
> 
> I've added some Ryzen 3xxx, AMD 500 Chipset, Navi 10 and Kingston ids to
> pcidev. I've taken the description from the Linux PCI device ids
> https://pci-ids.ucw.cz/v2.2/pci.ids
> 
> ok?

Can you show a dmesg?  Many of these don't make sense and I can't
find them publically documented by amd.

> 
> Index: pcidevs
> ===
> RCS file: /cvs/src/sys/dev/pci/pcidevs,v
> retrieving revision 1.1954
> diff -u -p -r1.1954 pcidevs
> --- pcidevs   31 Jan 2021 10:51:53 -  1.1954
> +++ pcidevs   7 Feb 2021 18:48:53 -
> @@ -346,6 +346,7 @@ vendorAMPERE  0x1def  Ampere
>  vendor   SSSTC   0x1e95  SSSTC
>  vendor   TEHUTI  0x1fc9  Tehuti Networks
>  vendor   SUNIX2  0x1fd4  Sunix
> +vendor   KINGSTON0x2646  Kingston
>  vendor   HINT0x3388  Hint
>  vendor   3DLABS  0x3d3d  3D Labs
>  vendor   AVANCE2 0x4005  Avance Logic
> @@ -722,6 +723,14 @@ product AMD 15_3X_PCIE_1 0x1424  15h PCIE
>  product AMD 15_3X_PCIE_2 0x1425  15h PCIE
>  product AMD 15_3X_PCIE_3 0x1426  15h PCIE
>  product AMD 16_PCIE  0x1439  16h PCIE
> +product AMD 17_3X_DEV_1  0x1440  17h/3xh Device 24
> +product AMD 17_3X_DEV_2  0x1441  17h/3xh Device 24
> +product AMD 17_3X_DEV_3  0x1442  17h/3xh Device 24
> +product AMD 17_3X_DEV_4  0x1443  17h/3xh Device 24
> +product AMD 17_3X_DEV_5  0x1444  17h/3xh Device 24
> +product AMD 17_3X_DEV_6  0x1445  17h/3xh Device 24
> +product AMD 17_3X_DEV_7  0x1446  17h/3xh Device 24
> +product AMD 17_3X_DEV_8  0x1447  17h/3xh Device 24

"Device 24"?

I would expect desktop Ryzen 3xxx to be 17h/71h.

>  product AMD 17_6X_DF_0   0x1448  17h/6xh Data Fabric
>  product AMD 17_6X_DF_1   0x1449  17h/6xh Data Fabric
>  product AMD 17_6X_DF_2   0x144a  17h/6xh Data Fabric
> @@ -751,6 +760,10 @@ product AMD 17_CCP_2 0x1468  17h Crypto
>  product AMD 17_PCIE_40x1470  17h PCIE
>  product AMD 17_PCIE_50x1471  17h PCIE
>  product AMD 17_3X_RC 0x1480  17h/3xh Root Complex
> +product AMD 17_3X_IOMMU  0x1481  17h/3xh IOMMU
> +product AMD 17_3X_PCIE_1 0x1482  17h/3xh PCIE
> +product AMD 17_3X_GPP_1  0x1483  17h/3xh GPP
> +product AMD 17_3X_GPP_2  0x1484  17h/3xh GPP
>  product AMD 17_3X_CCP0x1486  17h/3xh Crypto
>  product AMD 17_3X_HDA0x1487  17h/3xh HD Audio
>  product AMD 14_HB0x1510  14h Host
> @@ -861,6 +874,10 @@ product AMD 400SERIES_PCIE_1 0x43c6  400
>  product AMD 400SERIES_PCIE_2 0x43c7  400 Series PCIE
>  product AMD 400SERIES_AHCI   0x43c8  400 Series AHCI
>  product AMD 400SERIES_XHCI   0x43d0  400 Series xHCI
> +product AMD 500SERIES_AHCI   0x43eb  500 Series AHCI
> +product AMD 500SERIES_XHCI   0x43ee  500 Series xHCI
> +product AMD 500SERIES_PCIE_1 0x43e9  500 Series PCI Bridge
> +product AMD 500SERIES_PCIE_2 0x43ea  500 Series PCI Bridge
>  /* http://www.amd.com/products/cpg/athlon/techdocs/pdf/21910.pdf */
>  product AMD SC751_SC 0x7006  751 System
>  product AMD SC751_PPB0x7007  751
> @@ -1150,6 +1167,8 @@ product ATI KAVERI_19   0x1318  Kaveri Rad
>  product ATI KAVERI_200x131b  Kaveri Radeon R4
>  product ATI KAVERI_210x131c  Kaveri Radeon R7
>  product ATI KAVERI_220x131d  Kaveri Radeon R6
> +product ATI NAVI10_9 0x1478  Radeon RX5000
> +product ATI NAVI10_100x1479  Radeon RX5000

Where are these from?  They are not matched in amdgpu.

>  product ATI PICASSO  0x15d8  Picasso
>  product ATI RAVEN_VEGA   0x15dd  Radeon Vega
>  product ATI RAVEN_VEGA_HDA   0x15de  Radeon Vega HD Audio
> @@ -6190,6 +6209,9 @@ product JMICRON SD_20x2391  SD Host Con
>  product JMICRON SDMMC_2  0x2392  SD/MMC
>  product JMICRON MS_2 0x2393  Memory Stick
>  product JMICRON XD_2 0x2394  xD
> +
> +/* KINGSTON */
> +product KINGSTON A2000   0x2263  A2000 NVMe
> 
>  /* KTI */
>  product KTI KTIE 0x3000  KTI
> 
> 
> Best regards,
> Sven
> 
>