Created attachment 128089 [details] dmesg | egrep -i -e 'amd|fb|drm|graphic' The driver reports Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff during initialization.
This is a message from the pci subsystem, not the driver and it's harmless. The driver is able to access the rom and load successfully.
If it is the pci subsystem where should I report the issue instead?
Created attachment 131169 [details] other amd|fb|drm|graphic the same problem or message from the pci subsystem. System: Host: linux Kernel: 4.11.0-rc8-2.g540c429-default x86_64 (64 bit gcc: 6.3.1) Desktop: KDE Plasma 5.9.5 (Qt 5.8.0) Distro: openSUSE Leap 42.2 Machine: Device: desktop Mobo: ASUSTeK model: CROSSHAIR VI HERO v: Rev 1.xx UEFI: American Megatrends v: 1002 date: 03/24/2017 CPU: Octa core AMD Ryzen 7 1700X Eight-Core (-HT-MCP-) cache: 4096 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm) bmips: 54296 clock speeds: max: 3400 MHz 1: 2200 MHz 2: 3400 MHz 3: 2200 MHz 4: 2200 MHz 5: 2200 MHz 6: 2200 MHz 7: 2200 MHz 8: 2200 MHz 9: 3400 MHz 10: 2200 MHz 11: 2200 MHz 12: 2200 MHz 13: 2200 MHz 14: 2200 MHz 15: 2200 MHz 16: 2200 MHz Graphics: Card: Advanced Micro Devices [AMD/ATI] Ellesmere [Polaris10] bus-ID: 29:00.0 Display Server: X.org 1.18.3 drivers: modesetting,ati (unloaded: fbdev,vesa,radeon) tty size: 271x68 Advanced Data: N/A for root
The error message comes from the drivers/pci/rom.c file. A solution is to change dev_err to dev_info in the pci_get_rom_size function. Amd should manage to make this happen.
I also have this issue with Debian Stretch linux kernel 4.13.0-0.bpo.1-amd64 I upgraded to this kernel because the default kernel wouldn't give me dual screen mode , probably same issue. my graphics card is a Radeon RX550 brand new just openned the box. My previous R200 series works flawlessly, but the new one isn't. Wish AMD would treat Linux first class like Intel does with their graphics drivers. So if the answer is: "drivers/pci/rom.c file. A solution is to change dev_err to dev_info in the pci_get_rom_size function." sounds like a recompile required. C'mon, that's not resolved for me, it's resolved when the testing is done successfully, the code gets committed to source repo and the builds get it.
Originally trying to get dual screen to work on Debian Stretch kernel 4.9.x Led me to kernel update , Debian Stretch with latest 4.13.x kernel I didn't log the issue that 4.9.x had but maybe similar to 4.13.x :see following: dmesg | grep amdgpu [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.13.0-0.bpo.1-amd64 root=UUID=551d61d5-886e-43dc-9cc8-0d5493d0514a ro quiet [ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.13.0-0.bpo.1-amd64 root=UUID=551d61d5-886e-43dc-9cc8-0d5493d0514a ro quiet [ 3.460211] [drm] amdgpu kernel modesetting enabled. [ 3.502361] amdgpu 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff [ 3.513075] amdgpu 0000:01:00.0: firmware: failed to load amdgpu/polaris12_mc.bin (-2) [ 3.513120] amdgpu 0000:01:00.0: Direct firmware load for amdgpu/polaris12_mc.bin failed with error -2 [ 3.513122] mc: Failed to load firmware "amdgpu/polaris12_mc.bin" [ 3.513219] [drm:gmc_v8_0_sw_init [amdgpu]] *ERROR* Failed to load mc firmware! [ 3.513290] [drm:amdgpu_device_init [amdgpu]] *ERROR* sw_init of IP block <gmc_v8_0> failed -2 [ 3.513330] amdgpu 0000:01:00.0: amdgpu_init failed [ 3.513369] amdgpu 0000:01:00.0: Fatal error during GPU init
(In reply to Joseph Olstad from comment #6) > Originally trying to get dual screen to work on Debian Stretch kernel 4.9.x > > Led me to kernel update , Debian Stretch with latest 4.13.x kernel > I didn't log the issue that 4.9.x had but maybe similar to 4.13.x > :see following: > dmesg | grep amdgpu > > [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.13.0-0.bpo.1-amd64 > root=UUID=551d61d5-886e-43dc-9cc8-0d5493d0514a ro quiet > [ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.13.0-0.bpo.1-amd64 > root=UUID=551d61d5-886e-43dc-9cc8-0d5493d0514a ro quiet > [ 3.460211] [drm] amdgpu kernel modesetting enabled. > [ 3.502361] amdgpu 0000:01:00.0: Invalid PCI ROM header signature: > expecting 0xaa55, got 0xffff > [ 3.513075] amdgpu 0000:01:00.0: firmware: failed to load > amdgpu/polaris12_mc.bin (-2) > [ 3.513120] amdgpu 0000:01:00.0: Direct firmware load for > amdgpu/polaris12_mc.bin failed with error -2 > [ 3.513122] mc: Failed to load firmware "amdgpu/polaris12_mc.bin" > [ 3.513219] [drm:gmc_v8_0_sw_init [amdgpu]] *ERROR* Failed to load mc > firmware! > [ 3.513290] [drm:amdgpu_device_init [amdgpu]] *ERROR* sw_init of IP block > <gmc_v8_0> failed -2 > [ 3.513330] amdgpu 0000:01:00.0: amdgpu_init failed > [ 3.513369] amdgpu 0000:01:00.0: Fatal error during GPU init It looks like the firmware is not available at driver load time. If you are using an initrd, make sure the firmware is in the initrd. If you have the driver compiled into the kernel, you need to build the firmware into the kernel as well.
Joseph, before the steps outlined by Alex, make sure the firmware-amd-graphics package from stretch-backports is installed.
Created attachment 135739 [details] [review] possible fix The attached patch makes the change. Whether the pci maintainers will accept it or not remains to be seen.
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.