On Thu, Jan 25, 2024 at 02:14:58PM +1100, Jonathan Gray wrote:
> On Wed, Jan 24, 2024 at 12:54:10PM -0500, Josh Rickmar wrote:
> > I may have stumbled upon a fix by accident. Enabling resizable BAR in
> > my UEFI settings seems to stop the crash.
>
> I unsuccessfully tried to reproduce the problem by disabling CSM and
> doing a new UEFI/GPT install on:
>
> bios0: vendor American Megatrends Inc. version "P3.20" date 04/09/2019
> bios0: ASRock X470 Gaming K4
> ..
> cpu0: AMD Ryzen 5 2600X Six-Core Processor, 3600.00 MHz, 17-08-02, patch
> 0800820b
> ..
> amdgpu0: VEGA10 GC 9.0.1 56 CU rev 0x01
>
> The card has the resizable BAR capability, but there are no system bios
> options for it. Resizable BAR seems to require >= Ryzen 3000 (Zen 2).
>
> 33:0:0: ATI Radeon Rx Vega
> 0x0000: Vendor ID: 1002, Product ID: 687f
> 0x0004: Command: 0006, Status: 0010
> 0x0008: Class: 03 Display, Subclass: 00 VGA,
> Interface: 00, Revision: c3
> 0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
> Cache Line Size: 10
> 0x0010: BAR mem prefetchable 64bit addr: 0x00000000e0000000/0x10000000
> 0x0018: BAR mem prefetchable 64bit addr: 0x00000000f0000000/0x00200000
> 0x0020: BAR io addr: 0x0000e000/0x0100
> 0x0024: BAR mem 32bit addr: 0xfcb00000/0x00080000
> 0x0028: Cardbus CIS: 00000000
> 0x002c: Subsystem Vendor ID: 1458 Product ID: 230c
> 0x0030: Expansion ROM Base Address: fcb80000
> 0x0038: 00000000
> 0x003c: Interrupt Pin: 01 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: 8.0 / 8.0 GT/s
> Link Width: x16 / x16
> 0x0100: Enhanced Capability 0x0b: Vendor-Specific
> 0x0150: Enhanced Capability 0x01: Advanced Error Reporting
> 0x0200: Enhanced Capability 0x15: Resizable BAR
> 0x0270: Enhanced Capability 0x19: Secondary PCIe Capability
> 0x02a0: Enhanced Capability 0x0d: Access Control Services
> 0x02b0: Enhanced Capability 0x0f: Address Translation Services
> 0x02c0: Enhanced Capability 0x13: Page Request Interface
> 0x02d0: Enhanced Capability 0x1b: Process Address Space ID
> 0x0320: Enhanced Capability 0x18: Latency Tolerance Reporting
> 0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
> Enabled: yes
>
It might be due to some other percularities about my bios menu. This
motherboard is a MSI B550 Tomahawk.
When resizable BAR is enabled, two other bios settings flip on as
well, one named "Above 4G memory/Crypto Currency mining" and the other
"Restore PCIe registers". The latter does not have its own menu
option as far as I can see: it is turned on and off with resizable BAR
and is only shown in the summary page of changes when saving settings.
The >4G memory option can be toggled separately from resizable
BAR/restore PCIe registers, however I tried all combinations of these
settings and only enabling all of them avoids the crash.
45:0:0: ATI Radeon Rx Vega
0x0000: Vendor ID: 1002, Product ID: 687f
0x0004: Command: 0006, Status: 0010
0x0008: Class: 03 Display, Subclass: 00 VGA,
Interface: 00, Revision: c1
0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
Cache Line Size: 10
0x0010: BAR mem prefetchable 64bit addr: 0x0000007c00000000/0x200000000
0x0018: BAR mem prefetchable 64bit addr: 0x0000007e00000000/0x10000000
0x0020: BAR io addr: 0x0000f000/0x0100
0x0024: BAR mem 32bit addr: 0xfcd00000/0x00080000
0x0028: Cardbus CIS: 00000000
0x002c: Subsystem Vendor ID: 1da2 Product ID: e37f
0x0030: Expansion ROM Base Address: fcd80000
0x0038: 00000000
0x003c: Interrupt Pin: 01 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: 8.0 / 8.0 GT/s
Link Width: x16 / x16
0x0100: Enhanced Capability 0x0b: Vendor-Specific
0x0150: Enhanced Capability 0x01: Advanced Error Reporting
0x0200: Enhanced Capability 0x15: Resizable BAR
0x0270: Enhanced Capability 0x19: Secondary PCIe Capability
0x02a0: Enhanced Capability 0x0d: Access Control Services
0x02b0: Enhanced Capability 0x0f: Address Translation Services
0x02c0: Enhanced Capability 0x13: Page Request Interface
0x02d0: Enhanced Capability 0x1b: Process Address Space ID
0x0320: Enhanced Capability 0x18: Latency Tolerance Reporting
0x00a0: Capability 0x05: Message Signalled Interrupts (MSI)
Enabled: yes