https://bugs.freedesktop.org/show_bug.cgi?id=63935
--- Comment #16 from Dave Witbrodt dawitbro@sbcglobal.net --- (In reply to comment #15)
The good news is that I can reproduce the problem, and it indeed looks like the firmware image gets corrupted. But that seems to always happen not only when the image is loaded from initrd.
That is a fact. I run my locally-built kernels without initrd files; the kernel has an initramfs facility which allows files to be manually selected for inclusion in the vmlinuz image (I used to use this for uvesafb), and a separate set of config options (CONFIG_EXTRA_FIRMWARE*, see comment 9 above) specifically for including firmware files into a particular location in the initial filesystem.
I have been doing this for several years. It currently works for UVD on 2 out of 3 systems. (A fourth machine has an integrated Radeon GPU too old to be supported by this UVD code, though it also boots Linux without an initrd.)