Background:
In August 2014, lower-cased filename's files are added in the following
commit:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/radeon?id=f333bd435c0b6745cbc4fae3326725d77bf57c82
This commit says those files use the new header format. The radeon's drmkms
driver basically try to use lower case's file first and then try the upper
case's one. [*1]
After the above commit, usually lower-case's files have been added and updated.
Two exceptions:
TAHITI_vce.bin (only uppercase exists)
BONAIRE_uvd.bin (both upper and lowe exist and both updated)
Some old (upper-case'd) firmware might be maintained anymore.
Now:
Number of upper-cased filename's files: 158
Number of lower-cased filename's files: 66
Both lower-cased and upper-cased: 65
kaveri_mec2.bin has only lowercase one.
(see also:
http://mail-index.netbsd.org/tech-x11/2019/04/07/msg001953.html)
[*1] For _mc*.bin:
1st try: lower-case _mc.bin
2nd try: upper-case _mc2.bin
3rd try: upper-case _mc.bin
So, options are:
a) Remove duplicated upper-cased files.
pros: Simple. It's not required to modify radeon driver itself.
It also works with new kernel with old filesysysm.
cons: If the driver failed to load the lower cased firmware,
driver can't read the upper-cased firmware.
b) Rename upper-case'd file to another name e.g.: foo_bar_old.bin
pros: It can be keep the driver's behavior the same as linux's.
cons: We have to modify many files and lines.
If we support new kernel + old filesystem, we should modify
the driver to load FOO_BAR.bin first and then FOO_BAR_old.bin.
c) keep the current status as it is.
pros: Any additional work is not required.
cons: have trouble on case-insensitive file system.
d) Any other options.
Option A is the best. There is no need in this case to keep the files that I've seen.
If we do need them, then adding a directory for the old names / format seems the best way forward (both in tree and new install location). Add the new directory to the load path. MacOS builds are fine.
Warner