[PATCH 0/1] Init atombios timeout when amdgpu is Thunderbolt / USB4 when IO BAR is assigned

Nicholas Johnson nicholas.johnson-opensource at outlook.com.au
Sun Mar 14 06:07:59 UTC 2021


Hi all,

I am not certain why this happens, but when IO bar is assigned on 
Thunderbolt, the amdgpu init fails:

[drm:atom_op_jump [amdgpu]] *ERROR* atombios stuck in loop for more than 20secs aborting
[drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing B456 (len 304, WS 4, PS 0) @ 0xB51B
[drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing B104 (len 183, WS 0, PS 8) @ 0xB17E
amdgpu 0000:08:00.0: amdgpu: gpu post error!
amdgpu 0000:08:00.0: amdgpu: Fatal error during GPU init
amdgpu: probe of 0000:08:00.0 failed with error -22

It seems to happen mostly when BIOS-assisted PCI enumeration is used 
(older Thunderbolt systems). I cannot rule it out with native 
enumeration, but generally native enumeration works, as the IO BAR is 
not assigned, due to limited IO resources.

This patch is a simple fix against v5.12-rc2. I have experienced this 
issue for a long time, and have finally decided to do something about 
it. I do not see a downside to using MMIO, which is required to be 
assigned.

Kind regards,
Nicholas Johnson

Nicholas Johnson (1):
  amdgpu: use MMIO to init atombios if device is Thunderbolt / USB4
    attached

 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

-- 
2.30.2



More information about the amd-gfx mailing list