# Radeon Pro W6400 - RNA2 support



## dublet (Nov 13, 2022)

Hello,

I got a bit too tempted by a Radeon Pro W6400 and attempted to get it working on my system without much success so far. This isn't entirely unexpected as the W6400 is a new RNA2 based architecture with the `xf86-video-amdgpu` package not yet claiming to support this particular card/generation chip. Somewhat foolhardy, I decided to try it anyway and see how far I get.

This is all on 13.1-STABLE with the latest ports available retrieved via `portsnap`.

The relevant output from `lspci -vv`

```
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 24 [Radeon PRO W6400] (prog-if 00 [VGA controller])
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0e44
        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-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 24
        Region 0: Memory at <unassigned> (64-bit, prefetchable)
        Region 1: Memory at <unassigned> (64-bit, prefetchable)
        Region 2: Memory at <unassigned> (64-bit, prefetchable)
        Region 3: Memory at <unassigned> (64-bit, prefetchable)
        Region 4: I/O ports at f000
        Region 5: Memory at fcc00000 (32-bit, non-prefetchable)
        Expansion ROM at fcd00000 [disabled]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [64] Express (v2) Legacy Endpoint, MSI 00
                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 256 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 16GT/s, Width x16
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp+ 10BitTagReq+ OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS-
                         AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq+ OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                         EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [200 v1] Physical Resizable BAR
                BAR 0: current size: 256MB, supported: 256MB 512MB 1GB 2GB 4GB
                BAR 2: current size: 2MB, supported: 2MB 4MB 8MB 16MB 32MB 64MB 128MB 256MB
        Capabilities: [240 v1] Power Budgeting <?>
        Capabilities: [270 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [2a0 v1] Access Control Services
                ACSCap: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
                ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
        Capabilities: [2d0 v1] Process Address Space ID (PASID)
                PASIDCap: Exec+ Priv+, Max PASID Width: 10
                PASIDCtl: Enable- Exec- Priv-
        Capabilities: [320 v1] Latency Tolerance Reporting
                Max snoop latency: 1048576ns
                Max no snoop latency: 1048576ns
        Capabilities: [410 v1] Physical Layer 16.0 GT/s <?>
        Capabilities: [440 v1] Lane Margining at the Receiver <?>
```

And `lspci -xxx` yields

```
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 24 [Radeon PRO W6400]
00: 02 10 22 74 07 00 10 00 00 00 00 03 10 00 80 00
10: 0c 00 00 e0 fc 00 00 00 0c 00 00 f0 fc 00 00 00
20: 01 f0 00 00 00 00 c0 fc 00 00 00 00 02 10 44 0e
30: 00 00 d0 fc 48 00 00 00 00 00 00 00 18 01 00 00
40: 00 00 00 00 00 00 00 00 09 50 08 00 02 10 44 0e
50: 01 64 03 f0 08 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 10 a0 12 00 a1 8f 00 00 30 29 09 00
70: 04 0d 44 00 42 00 04 11 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 9f 09 73 00 00 14 00 00
90: 1e 00 80 01 04 00 1f 00 00 00 00 00 00 00 00 00
a0: 05 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
```
I had an older generation Radeon Pro working quote well, so the configuration is fine, but X is complaining:


```
[   477.246] (II) LoadModule: "amdgpu"
[   477.246] (II) Loading /usr/local/lib/xorg/modules/drivers/amdgpu_drv.so
[   477.246] (II) Module amdgpu: vendor="X.Org Foundation"
[   477.246]    compiled for 1.21.1.4, module version = 22.0.0
[   477.246]    Module class: X.Org Video Driver
[   477.246]    ABI class: X.Org Video Driver, version 25.2
[   477.246] (II) AMDGPU: Driver for AMD Radeon:
        All GPUs supported by the amdgpu kernel driver
[   477.246] (--) Using syscons driver with X support (version 2.0)
[   477.246] (--) using VT number 9

[   477.365] (II) AMDGPU(0): [KMS] Kernel modesetting enabled.
[   477.365] (EE) AMDGPU(0): [drm] Failed to open DRM device for pci:0000:03:00.0: No such file or directory
[   477.365] (II) AMDGPU(1): [KMS] Kernel modesetting enabled.
[   477.365] (EE) AMDGPU(1): [drm] Failed to open DRM device for pci:0000:03:00.0: No such file or directory
```
Upon the loading of the amdgpu module, there's not a huge amount going on, though in the dmesg, it merely prints:

```
[drm] amdgpu kernel modesetting enabled.
```
There's no further `drm` device that is initialised, unlike with the previous GPU.

I'm not sure how to provide better info to debug any GPU DRM/firmware.

Is anyone aware of any effort to support this chipset? Or am I better off returning this card?

Thanks in advance


----------

