Annoying AMDGPU bug (kernel or maybe X11 driver) "flip_done timed out"

Krzysztof Hałasa khalasa at piap.pl
Sun Oct 25 17:26:14 UTC 2020


Hello,

I'm having an annoying X11 issue. The machine is latest Fedora 32 x64,
AMD Ryzen 3 2200G with Radeon Vega Graphics, Gigabyte B450M DS3H, latest
BIOS.
xorg-x11-server-Xorg-1.20.9-1, xorg-x11-drv-amdgpu-19.1.0-3, Linux
5.8.16, openbox minimal desktop (no Wayland).

The user plays a 32-bit WINE game (a ~2005 DirectX full screen, details
are of course available). Then switches with Alt-Tab back to X, nothing
bad happens yet. Switches back to the game, all is good, and only then
switching (for the second time now) with Alt-Tab to X desktop kills the
graphics.
A different computer (with an AMD BARTS chip and radeon driver, same
software) doesn't have such a problem.

The question is, how do I debug such things?

In the kernel logs:
[drm] amdgpu kernel modesetting enabled.
amdgpu: Topology: Add APU node [0x0:0x0]
[drm] initializing kernel modesetting (RAVEN 0x1002:0x15DD 0x1458:0xD000 0xC8).
amdgpu 0000:07:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[drm] register mmio base: 0xFCB00000
[drm] register mmio size: 524288
[drm] add ip block number 0 <soc15_common>
[drm] add ip block number 1 <gmc_v9_0>
[drm] add ip block number 2 <vega10_ih>
[drm] add ip block number 3 <psp>
[drm] add ip block number 4 <gfx_v9_0>
[drm] add ip block number 5 <sdma_v4_0>
[drm] add ip block number 6 <powerplay>
[drm] add ip block number 7 <dm>
[drm] add ip block number 8 <vcn_v1_0>
[drm] BIOS signature incorrect 5b 7
amdgpu: ATOM BIOS: 113-RAVEN-114
[drm] VCN decode is enabled in VM mode
[drm] VCN encode is enabled in VM mode
[drm] JPEG decode is enabled in VM mode
[drm] vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
amdgpu 0000:07:00.0: amdgpu: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
amdgpu 0000:07:00.0: amdgpu: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
amdgpu 0000:07:00.0: amdgpu: AGP: 267419648M 0x000000F800000000 - 0x0000FFFFFFFFFFFF
[drm] Detected VRAM RAM=2048M, BAR=2048M
[drm] RAM width 128bits DDR4
[TTM] Zone  kernel: Available graphics memory: 3044138 KiB
[TTM] Zone   dma32: Available graphics memory: 2097152 KiB
[TTM] Initializing pool allocator
[TTM] Initializing DMA pool allocator
[drm] amdgpu: 2048M of VRAM memory ready
[drm] amdgpu: 3072M of GTT memory ready.
[drm] GART: num cpu pages 262144, num gpu pages 262144
[drm] PCIE GART of 1024M enabled (table at 0x000000F400900000).
amdgpu: hwmgr_sw_init smu backed is smu10_smu
[drm] Found VCN firmware Version ENC: 1.9 DEC: 1 VEP: 0 Revision: 28
[drm] PSP loading VCN firmware
[drm] reserve 0x400000 from 0xf47fc00000 for PSP TMR
amdgpu 0000:07:00.0: amdgpu: RAS: optional ras ta ucode is not available
[drm] kiq ring mec 2 pipe 1 q 0
[drm] DM_PPLIB: values for F clock
[drm] DM_PPLIB:         400000 in kHz, 3649 in mV
[drm] DM_PPLIB:         933000 in kHz, 4074 in mV
[drm] DM_PPLIB:         1200000 in kHz, 4399 in mV
[drm] DM_PPLIB:         1333000 in kHz, 4399 in mV
[drm] DM_PPLIB: values for DCF clock
[drm] DM_PPLIB:         300000 in kHz, 3649 in mV
[drm] DM_PPLIB:         600000 in kHz, 4074 in mV
[drm] DM_PPLIB:         626000 in kHz, 4250 in mV
[drm] DM_PPLIB:         654000 in kHz, 4399 in mV
[drm] Display Core initialized with v3.2.84!
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] VCN decode and encode initialized successfully(under SPG Mode).
kfd kfd: Allocated 3969056 bytes on gart
amdgpu: Topology: Add APU node [0x15dd:0x1002]
kfd kfd: added device 1002:15dd
amdgpu 0000:07:00.0: amdgpu: SE 1, SH per SE 1, CU per SH 11, active_cu_number 8
[drm] fb mappable at 0x60BCA000
[drm] vram apper at 0x60000000
[drm] size 8294400
[drm] fb depth is 24
[drm]    pitch is 7680
amdgpu 0000:07:00.0: fb0: amdgpudrmfb frame buffer device
amdgpu 0000:07:00.0: amdgpu: ring gfx uses VM inv eng 0 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
amdgpu 0000:07:00.0: amdgpu: ring sdma0 uses VM inv eng 0 on hub 1
amdgpu 0000:07:00.0: amdgpu: ring vcn_dec uses VM inv eng 1 on hub 1
amdgpu 0000:07:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 4 on hub 1
amdgpu 0000:07:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 5 on hub 1
amdgpu 0000:07:00.0: amdgpu: ring jpeg_dec uses VM inv eng 6 on hub 1
[drm] Initialized amdgpu 3.38.0 20150101 for 0000:07:00.0 on minor 0

When switching from the game to X desktop for the second time:
[drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CRTC:56:crtc-0] flip_done timed out
[drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [PLANE:49:plane-3] flip_done timed out

Possibly interesting parts of Xserver log:
8.924 (II) AMDGPU(0): [KMS] Kernel modesetting enabled.
8.925 (--) AMDGPU(0): Chipset: "Unknown AMD Radeon GPU" (ChipID = 0x15dd)
9.091 (II) AMDGPU(0): glamor X acceleration enabled on AMD RAVEN (DRM 3.38.0, 5.8.16-200.fc32.x86_64, LLVM 10.0.1)
9.091 (II) AMDGPU(0): glamor detected, initialising EGL layer.
9.091 (==) AMDGPU(0): TearFree property default: auto
9.091 (==) AMDGPU(0): VariableRefresh: disabled
9.091 (II) AMDGPU(0): KMS Pageflipping: enabled
9.105 (II) AMDGPU(0): [DRI2] Setup complete
9.105 (II) AMDGPU(0): [DRI2]   DRI driver: radeonsi
9.105 (II) AMDGPU(0): [DRI2]   VDPAU driver: radeonsi
9.169 (II) AMDGPU(0): Front buffer pitch: 7680 bytes
9.170 (II) AMDGPU(0): SYNC extension fences enabled
9.170 (II) AMDGPU(0): Present extension enabled
9.170 (==) AMDGPU(0): DRI3 enabled
9.170 (==) AMDGPU(0): Backing store enabled
9.170 (II) AMDGPU(0): Direct rendering enabled
9.184 (II) AMDGPU(0): Use GLAMOR acceleration.
9.184 (II) AMDGPU(0): Acceleration enabled
9.184 (==) AMDGPU(0): DPMS enabled
9.184 (==) AMDGPU(0): Silken mouse enabled
9.184 (II) AMDGPU(0): Set up textured video (glamor)
9.211 (II) GLX: Initialized DRI2 GL provider for screen 0

Ideas?
-- 
Krzysztof Halasa

Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa


More information about the xorg mailing list