I'm using the open source radeon driver for my HD 4670.
In /lib/firmware/radeon I have: R600_rlc.bin R700_rlc.bin RV730_me.bin RV730_pfp.bin (and others, but I don't think others are used).
I includet R600_rlc.bin R700_rlc.bin in the kernel (couse the radeon driver starts before the hard drives are ready).
But now I have some questions:
Is R600_rlc.bin needed in the kernel?
Are R600_rlc.bin RV730_me.bin and RV730_pfp.bin needed at all?
Why are there 3 or 4 firmwares for one card (what does rlc, me and pfp mean)?
Thank you for clearing things up and sorry for my bad english,
But are all these files required during bootup or only when X starts? Couse as I sayed: The me and pfp firmwares aren't included in my currently running kernel (as firmware blobs, I don't use an initrd) but everything seems to work. If I don't include the R700_rlc.bin DRI won't work (if I remember correctly).
Thank you for the explanation.The me and pfp firmware is for the command processor (which fetches and processes command buffers), and the rlc firmware is for the interrupt controller.
The Link says:
So no words about RV730_me.bin RV730_pfp.bin - Why is me and pfp needed for CEDAR, CYPRESS, JUNIPER and REDWOOD but not for R600/R700?CONFIG_EXTRA_FIRMWARE="radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin radeon/R600_rlc.bin radeon/R700_rlc.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/REDWOOD_rlc.bin"
For your card, you need R700_rlc.bin, RV730_me.bin, and RV730_pfp.bin at boot time when the driver loads. The r6xx/r7xx me and pfp firmware was added to the kernel before they stopped accepting new firmware in the kernel source tree. Firmware is now distributed from the Linux firmware tree.
If I understand that correctly I don't have to add the blobs for RV730_me.bin and RV730_pfp.bin manualy couse they are in the kernel per default?
Thank you, things are much more clear now.
You still have to include it in your initrd or build it into your kernel if you build radeon into the kernel, but you only need CONFIG_EXTRA_FIRMWARE for firmware that was never shipped as part of the kernel.
Yes, I need the blobs in my kernel, so I have to select:
CONFIG_FIRMWARE_IN_KERNEL=y (for RV730_me.bin and RV730_pfp.bin)
This configuration is working fine and thanks to you, I understand now why.