Bug 109206 - Kernel 4.20 amdgpu fails to load firmware on Ryzen 2500U
Summary: Kernel 4.20 amdgpu fails to load firmware on Ryzen 2500U
Status: NEW
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/AMDgpu (show other bugs)
Version: DRI git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-01 17:20 UTC by Gavin A.
Modified: 2019-02-20 21:07 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Kernel 4.20 log showing firmware loading crash (174.75 KB, text/plain)
2019-01-01 17:25 UTC, Gavin A.
no flags Details
List of files in /lib/firmware/amdgpu (3.96 KB, text/plain)
2019-01-04 21:59 UTC, Gavin A.
no flags Details
Raven dmcu firmware (23.84 KB, application/macbinary)
2019-01-04 22:00 UTC, Gavin A.
no flags Details
Kernel log on 5.0.0-rc2 showing firmware loading crash (191.95 KB, text/plain)
2019-01-14 14:17 UTC, Nicola Orlando
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gavin A. 2019-01-01 17:20:57 UTC
On Kernel 4.20.0-arch1, amdgpu psp fails to load firmware, crashing system during boot.  modprobe.blacklist=amdgpu allowed system to boot, without dm.  System is an HP Envy x360 Ryzen 5 2500U Laptop.

Jan 01 08:36:42 mimisbrunnr kernel: Linux agpgart interface v0.103
Jan 01 08:36:42 mimisbrunnr kernel: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] amdgpu kernel modesetting enabled.
Jan 01 08:36:42 mimisbrunnr kernel: Parsing CRAT table with 1 nodes
Jan 01 08:36:42 mimisbrunnr kernel: Ignoring ACPI CRAT on non-APU system
Jan 01 08:36:42 mimisbrunnr kernel: Virtual CRAT table created for CPU
Jan 01 08:36:42 mimisbrunnr kernel: Parsing CRAT table with 1 nodes
Jan 01 08:36:42 mimisbrunnr kernel: Creating topology SYSFS entries
Jan 01 08:36:42 mimisbrunnr kernel: Topology: Add CPU node
Jan 01 08:36:42 mimisbrunnr kernel: Finished initializing topology
Jan 01 08:36:42 mimisbrunnr kernel: checking generic (e0000000 7f0000) vs hw (e0000000 10000000)
Jan 01 08:36:42 mimisbrunnr kernel: fb0: switching to amdgpudrmfb from EFI VGA
Jan 01 08:36:42 mimisbrunnr kernel: Console: switching to colour dummy device 80x25
Jan 01 08:36:42 mimisbrunnr kernel: amdgpu 0000:03:00.0: enabling device (0006 -> 0007)
Jan 01 08:36:42 mimisbrunnr kernel: [drm] initializing kernel modesetting (RAVEN 0x1002:0x15DD 0x103C:0x83C6 0xC4).
Jan 01 08:36:42 mimisbrunnr kernel: [drm] register mmio base: 0xFE000000
Jan 01 08:36:42 mimisbrunnr kernel: [drm] register mmio size: 524288
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 0 <soc15_common>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 1 <gmc_v9_0>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 2 <vega10_ih>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 3 <psp>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 4 <gfx_v9_0>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 5 <sdma_v4_0>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 6 <powerplay>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 7 <dm>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] add ip block number 8 <vcn_v1_0>
Jan 01 08:36:42 mimisbrunnr kernel: [drm] VCN decode is enabled in VM mode
Jan 01 08:36:42 mimisbrunnr kernel: [drm] VCN encode is enabled in VM mode
Jan 01 08:36:42 mimisbrunnr kernel: [drm] VCN jpeg decode is enabled in VM mode
Jan 01 08:36:42 mimisbrunnr kernel: ATOM BIOS: SWBRT25890.001
Jan 01 08:36:42 mimisbrunnr kernel: [drm] vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
Jan 01 08:36:42 mimisbrunnr kernel: amdgpu 0000:03:00.0: VRAM: 256M 0x000000F400000000 - 0x000000F40FFFFFFF (256M used)
Jan 01 08:36:42 mimisbrunnr kernel: amdgpu 0000:03:00.0: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
Jan 01 08:36:42 mimisbrunnr kernel: amdgpu 0000:03:00.0: AGP: 267419648M 0x000000F800000000 - 0x0000FFFFFFFFFFFF
Jan 01 08:36:42 mimisbrunnr kernel: [drm] Detected VRAM RAM=256M, BAR=256M
Jan 01 08:36:42 mimisbrunnr kernel: [drm] RAM width 128bits UNKNOWN
Jan 01 08:36:42 mimisbrunnr kernel: [TTM] Zone kernel: Available graphics memory: 3964154 kiB
Jan 01 08:36:42 mimisbrunnr kernel: [TTM] Zone dma32: Available graphics memory: 2097152 kiB
Jan 01 08:36:42 mimisbrunnr kernel: [TTM] Initializing pool allocator
Jan 01 08:36:42 mimisbrunnr kernel: [TTM] Initializing DMA pool allocator
Jan 01 08:36:42 mimisbrunnr kernel: [drm] amdgpu: 256M of VRAM memory ready
Jan 01 08:36:42 mimisbrunnr kernel: [drm] amdgpu: 3072M of GTT memory ready.
Jan 01 08:36:42 mimisbrunnr kernel: [drm] GART: num cpu pages 262144, num gpu pages 262144
Jan 01 08:36:42 mimisbrunnr kernel: [drm] PCIE GART of 1024M enabled (table at 0x000000F4007E9000).
Jan 01 08:36:42 mimisbrunnr kernel: [drm] use_doorbell being set to: [true]
Jan 01 08:36:42 mimisbrunnr kernel: [drm] Found VCN firmware Version: 1.73 Family ID: 18
Jan 01 08:36:42 mimisbrunnr kernel: [drm] PSP loading VCN firmware
Jan 01 08:36:42 mimisbrunnr kernel: [drm] reserve 0x400000 from 0xf400b00000 for PSP TMR SIZE
Jan 01 08:36:43 mimisbrunnr kernel: [drm:psp_cmd_submit_buf [amdgpu]] *ERROR* failed loading with status (-65530) and ucode id (19)
Jan 01 08:36:43 mimisbrunnr kernel: [drm:psp_hw_init [amdgpu]] *ERROR* PSP firmware loading failed
Jan 01 08:36:43 mimisbrunnr kernel: [drm:amdgpu_device_fw_loading [amdgpu]] *ERROR* hw_init of IP block <psp> failed -22
Jan 01 08:36:43 mimisbrunnr kernel: amdgpu 0000:03:00.0: amdgpu_device_ip_init failed
Jan 01 08:36:43 mimisbrunnr kernel: amdgpu 0000:03:00.0: Fatal error during GPU init
Jan 01 08:36:43 mimisbrunnr kernel: [drm] amdgpu: finishing device.
Jan 01 08:36:43 mimisbrunnr kernel: amdgpu 0000:03:00.0: 00000000c149df08 unpin not necessary
Comment 1 Gavin A. 2019-01-01 17:25:26 UTC
Created attachment 142935 [details]
Kernel 4.20 log showing firmware loading crash
Comment 2 David Francis 2019-01-04 15:08:35 UTC
Could you give me a list of all files in /lib/firmware/amdgpu/?
And if it contains a file called raven_dmcu.bin, please attach that file.
Comment 3 Gavin A. 2019-01-04 21:59:06 UTC
Created attachment 142978 [details]
List of files in /lib/firmware/amdgpu
Comment 4 Gavin A. 2019-01-04 22:00:00 UTC
Created attachment 142979 [details]
Raven dmcu firmware
Comment 5 Nicola Orlando 2019-01-14 14:17:00 UTC
Created attachment 143105 [details]
Kernel log on 5.0.0-rc2 showing firmware loading crash

I'm getting the exact same issue on 5.0.0 rc2; kernel log attached. Both the list of files in /lib/firmware/amdgpu/ and the raven_dmcu.bin are identical to the ones already attached.
Comment 6 Chris 2019-01-29 13:41:15 UTC
Still having the same bug in kernel 5.0-rc4 and my raven_dmcu.bin also matches to the previously attached bin file(sha256 a45972418d1c078afbd7884ffd58784954220759bc0d5464ce60165ffe1775bd).

However, in one of my tests I got it to work! So the time it worked I got lucky I somehow misplaced raven_dmcu.bin so when I rebooted the kernel 5.0rc4 and checked /lib/firmware/amdgpu/raven_dmcu.bin it wasn't there. As soon as I put raven_dmcu.bin back in the folder /lib/firmware/amdgpu/ I got this bug again. So the workaround is to delete raven_dmcu.bin from /lib/firmware/amdgpu for now until they fix it. Laptop seems to work just fine. I don't know what that firmware is for but it doesn't look like it's a required file for my HP x360 AMD Ryzen 2500U laptop
Comment 7 Gavin A. 2019-01-31 21:35:49 UTC
Can confirm that removing raven_dmcu.bin allows amdgpu to load.  Note that kernel 4.20 also requires iommu=pt kernel option.
Comment 8 edocod 2019-02-02 11:47:05 UTC
I encounter the same bug on my HP Envy x360, Ryzen 2500U.
Deleting raven_dcmu.bin and setting iommu=pt on kernel 4.20.5 still doesn't solve the bug.
Comment 9 Gavin A. 2019-02-02 16:32:59 UTC
Raven_dmcu.bin can get packed in the initramfs Image if amdgpu is loaded at boot.  Check the initramfs by running “lsinitcpio /boot/name of initramfs.img”.  If you see raven_dmcu.bin in the image from the previous command, remove raven_dmcu.bin from /lib/firmware then run “mkinitcpio -p linux”.
Comment 10 cd 2019-02-08 15:21:20 UTC
I also encounter this bug on my HP Envy x360 Ryzen 5 2500U.

What worked for me as a workaround was to first upgrade the kernel to 4.20.7, then remove "raven_dmcu.bin" and finally run "mkinitcpio -p linux".
Comment 11 Matrix 2019-02-13 01:48:09 UTC
This is the exact same issue I had and the above solution for removing /lib/firmware/amdgpu/raven_dmcu.bin worked for me. 

For Ubuntu Users on 4.20 you'll need to also run 

sudo update-initramfs -u

to update the bootimage. Thanks Chris.
Comment 12 Adrian Garay 2019-02-19 05:38:15 UTC
(In reply to matrix8967 from comment #11)
> This is the exact same issue I had and the above solution for removing
> /lib/firmware/amdgpu/raven_dmcu.bin worked for me. 
> 
> For Ubuntu Users on 4.20 you'll need to also run 
> 
> sudo update-initramfs -u
> 
> to update the bootimage. Thanks Chris.

Removing this file and updating my initramfs allows my 2500u HP x360 to actually boot to the desktop.  Unfortunately, the moment you try to load any game or even the Steam client, the laptop will hard lock.

The desktop is otherwise functional.
Comment 13 Zdenek 2019-02-19 11:26:19 UTC
I get hard lock during LibreOffice start after this workaround. Nothing interesting in logs can be found.
Comment 14 Harry Wentland 2019-02-19 19:27:31 UTC
I'd recommend updating the System BIOS.

Early BIOSes on HP Envy x360 (and possibly other Raven laptops) had trouble loading the DMCU FW.
Comment 15 Harry Wentland 2019-02-19 20:36:50 UTC
Can you see if this patch fixes it: https://patchwork.freedesktop.org/patch/277181/
Comment 16 Matrix 2019-02-20 05:06:25 UTC
Is it possible to upgrade the Bios from Linux? I think it's just a windows-only bios upgrade from HP right? Will it work in Freedos?
Comment 17 Harry Wentland 2019-02-20 21:07:25 UTC
I don't have that laptop but this link mentions a method to "Update the BIOS when Windows does not start": https://support.hp.com/ca-en/document/c00042629

I'd be more curious to know if the patch I posted fixes it.


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.