Bug 34033

Summary: CONFIG_DRM_RADEON=y don't detect radeon cypress 5850 firmware on boot ini
Product: DRI Reporter: papu <usforos>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact:
Severity: blocker    
Priority: high    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg with radeon=y none

Description papu 2011-02-08 06:14:42 UTC
Funtoo x64
Linux/x86_64 2.6.38-rc4
x11-base/xorg-x11-7.4-r1
x11-base/xorg-server-1.9.3.902
x11-libs/libdrm-2.4.23
x11-drivers/xf86-video-ati-6.14.0

At boot init it stop and then continue, but don't detect firmware:

[    1.332134] Refined TSC clocksource calibration: 2499.715 MHz.
[    1.332185] Switching to clocksource tsc
[   60.896225] r600_cp: Failed to load firmware "radeon/CYPRESS_pfp.bin"
[   60.896290] [drm:evergreen_startup] *ERROR* Failed to load firmware!
[   60.896340] radeon 0000:01:00.0: disabling GPU acceleration
[   60.897418] radeon 0000:01:00.0: ffff88011feff800 unpin not necessary
[   60.897468] radeon 0000:01:00.0: ffff88011feff800 unpin not necessary
[   60.898322] failed to evaluate ATIF got AE_BAD_PARAMETER


with CONFIG_DRM_RADEON=m  and the boot is ok, and using x11-drivers/radeon-ucode
the fimrware is loadink ok , i have opencl 3d.

lspci -v:
01:00.0 VGA compatible controller: ATI Technologies Inc Cypress [Radeon HD 5800 Series] (prog-if 00 [VGA controller])
        Subsystem: ATI Technologies Inc Device 0b00
        Flags: bus master, fast devsel, latency 0, IRQ 50
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f5000000 (64-bit, non-prefetchable) [size=128K]
        I/O ports at a000 [size=256]
        [virtual] Expansion ROM at f4000000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Kernel driver in use: radeon
        Kernel modules: radeon

This is my .config  http://www.papuweb.com/gentoo/bugs/config
This is xorg log with radeon=y http://www.papuweb.com/gentoo/bugs/Xorg.0.log_radeon_yes
This is my xorg log whith radeon=m and usint radeon-ucode http://www.papuweb.com/gentoo/bugs/Xorg.0.log_radeon_mod_ucode


thanks, you so much
Comment 1 papu 2011-02-08 06:18:20 UTC
Created attachment 43101 [details]
dmesg with radeon=y
Comment 2 papu 2011-02-08 06:20:36 UTC
This is my dmseg with radeon=y http://www.papuweb.com/gentoo/bugs/dmesg_radeon_yes
Comment 3 Michel Dänzer 2011-02-08 07:15:48 UTC
The firmware is needed at radeon driver initialization time. When the driver is built into the kernel, this happens before the firmware can be loaded from userspace, so it needs to be built into the kernel as well.
Comment 4 papu 2011-02-08 10:22:16 UTC
(In reply to comment #3)
> The firmware is needed at radeon driver initialization time. When the driver is
> built into the kernel, this happens before the firmware can be loaded from
> userspace, so it needs to be built into the kernel as well.

ok, i find the solution, using radeon-ucode and CONFIG_DRM_RADEON=y , you have to change this on kernel to pass firmware on the fly on boot init.

CONFIG_STANDALONE=y
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=" radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"


thanks, you so much.

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.