Bug 99917

Summary: Failure to load bonaire_k_smc.bin in kernels 4.8-4.10
Product: DRI Reporter: Leonid <user1>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Leonid 2017-02-23 04:53:42 UTC
I have the following videocard

03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 665f (rev 81) (prog-if 00 [VGA controller])
        Subsystem: XFX Pine Group Inc. Device 7360

I use radeon driver.
That works for kernels 4.1 through 4.7.
Starting with kernel 4.8 through 4.10 it fails to load the firmware
and keeps the monotor black. I can log in to the system using ssh,
but X11 does not start. Here are the messages:

[drm] initializing kernel modesetting (BONAIRE 0x1002:0x665F 0x1682:0x7360 0x81).
radeon 0000:03:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
ATOM BIOS: C93602
radeon 0000:03:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
radeon 0000:03:00.0: GTT: 2048M 0x0000000080000000 - 0x00000000FFFFFFFF
[drm] Detected VRAM RAM=2048M, BAR=256M
[drm] RAM width 128bits DDR
[drm] radeon: 2048M of VRAM memory ready
[drm] radeon: 2048M of GTT memory ready.
[drm] Loading bonaire Microcode
radeon 0000:03:00.0: Direct firmware load for radeon/bonaire_k_smc.bin failed with error -2
radeon 0000:03:00.0: Falling back to user helper

I removed contents of /usr/lib/firmware/radeon/ and copied there 246 files found in
http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/radeon

I do have /usr/lib/firmware/radeon/bonaire_k_smc.bin that is 130796 bytes long:

53fcd7884233b08265e25a9774c551a8  /usr/lib/firmware/radeon/bonaire_k_smc.bin

Any ideas how to fix it?
Comment 1 Michel Dänzer 2017-02-23 06:16:09 UTC
You probably need to update the initrd, so that /usr/lib/firmware/radeon/bonaire_k_smc.bin is included in it.

Resolving as not a bug, the microcode is required.
Comment 2 Leonid 2017-02-23 17:02:55 UTC
Correct. What I needed: 1) update kernel; 2) update firmware; 3) update initrd; 4) reboot. Just in that sequence. This fixed the problem. Thank you for the helpful hint.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.