Bug 212691
Summary: | [Regression] amdgpu driver broken on AMD HD7770 GHz edition. | ||
---|---|---|---|
Product: | Other | Reporter: | deference |
Component: | Other | Assignee: | other_other |
Status: | RESOLVED ANSWERED | ||
Severity: | normal | CC: | alexdeucher, deference |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | Subsystem: | ||
Regression: | Yes | Bisected commit-id: | |
Attachments: | My .config. |
Description
deference
2021-04-16 02:15:33 UTC
I suspect the kernel is stalled looking for firmware that it can't fine. Do you have the firmwares in the new location in your initrd or filesystem in the appropriate place? I.e., they moved from radeon/ to amdgpu/. Check if the firmware for your card exists in /lib/firmware/amdgpu/ or wherever your distro puts the firmware and make sure your initrd is up to date. Because this is a custom kernel, I decided to build the FW into the binary. A quick grep of my config would have told you that. 'CONFIG_EXTRA_FIRMWARE="radeon/verde_ce.bin radeon/verde_mc.bin radeon/verde_me.bin radeon/verde_pfp.bin radeon/verde_rlc.bin radeon/verde_smc.bin radeon/TAHITI_uvd.bin"' For some reason, when my system booted during the 4.14 (I think), series which I was using, it wanted to load the TAHITI FW also. My card is a Cape Verde. So I also included one of it's members. Just in case the path changed, I ran a quick ls for you: % ls /lib/firmware/{radeon/verde_ce.bin,radeon/verde_mc.bin,radeon/verde_me.bin,radeon/verde_pfp.bin,radeon/verde_rlc.bin,radeon/verde_smc.bin,radeon/TAHITI_uvd.bin} /lib/firmware/radeon/TAHITI_uvd.bin /lib/firmware/radeon/verde_me.bin /lib/firmware/radeon/verde_smc.bin /lib/firmware/radeon/verde_ce.bin /lib/firmware/radeon/verde_pfp.bin /lib/firmware/radeon/verde_mc.bin /lib/firmware/radeon/verde_rlc.bin It's all there. Having thought about it, it's possible that more than 1 TAHITI*.bin file is desired by the amdgpu driver. It's even possible that all of the radeon firmware is desired by the amdgpu driver. What do you think? Just out of curiosity I decided to look at the firmware and see if there were any differences in the count, the naming, or binary data. % ls /lib/firmware/radeon/ | grep -i verde VERDE_ce.bin VERDE_mc.bin VERDE_mc2.bin VERDE_me.bin VERDE_pfp.bin VERDE_rlc.bin VERDE_smc.bin verde_ce.bin verde_k_smc.bin verde_mc.bin verde_me.bin verde_pfp.bin verde_rlc.bin verde_smc.bin % ls /lib/firmware/amdgpu/ | grep -i verde verde_ce.bin verde_k_smc.bin verde_mc.bin verde_me.bin verde_pfp.bin verde_rlc.bin verde_smc.bin % diff /lib/firmware/{radeon,amdgpu}/verde_ce.bin Binary files /lib/firmware/radeon/verde_ce.bin and /lib/firmware/amdgpu/verde_ce.bin differ % diff /lib/firmware/{radeon,amdgpu}/verde_k_smc.bin % diff /lib/firmware/{radeon,amdgpu}/verde_mc.bin % diff /lib/firmware/{radeon,amdgpu}/verde_me.bin Binary files /lib/firmware/radeon/verde_me.bin and /lib/firmware/amdgpu/verde_me.bin differ % diff /lib/firmware/{radeon,amdgpu}/verde_pfp.bin Binary files /lib/firmware/radeon/verde_pfp.bin and /lib/firmware/amdgpu/verde_pfp.bin differ % diff /lib/firmware/{radeon,amdgpu}/verde_rlc.bin Binary files /lib/firmware/radeon/verde_rlc.bin and /lib/firmware/amdgpu/verde_rlc.bin differ I'll rebuild my kernel and test with the different firmware and see if that changes anything. Ok, I've rebuilt the 4.18 kernel above and it works with the AMDGPU firmware vs. the firmware in the Radeon directory. However, the 5.11 series kernel still exhibits the above bug. I'm going to rebuild it with the latest firmware vs. the firmware from 2019 which Devuan (Debian) Linux offers in their package manager. It should be noted that including all the FW from the AMDGPU and Radeon dirs causes the kernel to boot noticeably slower. It takes about 5-10s to load the correct firmware and continue onto init. Therefore, I hope to come up with a more minimalistic FW config in the future. Thanks for the help! I would never have guessed that the FW differed between dirs. I also wouldn't normally guess that it would change for a card so old as mine. Solution: Use the FW from the amdgpu dir as opposed to the radeon dir. Build kernel with the latest FW. |