diff options
author | Marc Ferland <marc.ferland@sonatest.com> | 2025-01-20 10:46:05 -0500 |
---|---|---|
committer | Ross Burton <ross.burton@arm.com> | 2025-01-23 12:14:29 +0000 |
commit | bf35e82d38f2c8279799c769404ec36df0371d6a (patch) | |
tree | 58d99dd31c49ee0ef52d446d0caa1060697a00ef | |
parent | 86b2a17985af6a95d512da62ab7595c1999e6c21 (diff) | |
download | poky-bf35e82d38f2c8279799c769404ec36df0371d6a.tar.gz |
linux-firmware: split amdgpu firmwares in separate packages
This patch introduces the following packages for AMD gpu chips:
- linux-firmware-amdgpu-aldebaran
- linux-firmware-amdgpu-carrizo
- linux-firmware-amdgpu-cezanne
- linux-firmware-amdgpu-fiji
- linux-firmware-amdgpu-hawaii
- linux-firmware-amdgpu-navi10
- linux-firmware-amdgpu-navi14
- linux-firmware-amdgpu-navi21
- linux-firmware-amdgpu-navi22
- linux-firmware-amdgpu-navi23
- linux-firmware-amdgpu-navi24
- linux-firmware-amdgpu-navi31
- linux-firmware-amdgpu-navi32
- linux-firmware-amdgpu-oland
- linux-firmware-amdgpu-polaris10
- linux-firmware-amdgpu-polaris11
- linux-firmware-amdgpu-polaris12
- linux-firmware-amdgpu-raven
- linux-firmware-amdgpu-rembrandt
- linux-firmware-amdgpu-renoir
- linux-firmware-amdgpu-stoney
- linux-firmware-amdgpu-tonga
- linux-firmware-amdgpu-topaz
- linux-firmware-amdgpu-vega10
- linux-firmware-amdgpu-vega12
- linux-firmware-amdgpu-misc: catches all firmwares that are not
already included in the other -amdgpu- packages.
This list was partly inspired from:
https://wiki.gentoo.org/wiki/AMDGPU#Known_firmware_blobs
Many other firmware packages could be created out of what is in
-misc. Looking at the different commits in the linux-firmware
repository gives a very good idea of which firmware goes with each
chip.
Note: Altough this patch might break some installations that assumed
that _all_ firmwares where installed by the linux-firmware-amdgpu
package, I think it is a step in the right direction as the number of
firmwares under amdgpu is constantly increasing (currently ~103MB).
Tested with a renoir gpu.
(From OE-Core rev: 4bcb1cd5803d7b664140f177730af3c0e0b60968)
Signed-off-by: Marc Ferland <marc.ferland@sonatest.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
-rw-r--r-- | meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb | 130 |
1 files changed, 127 insertions, 3 deletions
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb index 8211bd1eb1..6380a5303c 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb | |||
@@ -290,6 +290,32 @@ PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ | |||
290 | ${PN}-mt76x-license ${PN}-mt7601u ${PN}-mt7650 ${PN}-mt76x2 \ | 290 | ${PN}-mt76x-license ${PN}-mt7601u ${PN}-mt7650 ${PN}-mt76x2 \ |
291 | ${PN}-radeon-license ${PN}-radeon \ | 291 | ${PN}-radeon-license ${PN}-radeon \ |
292 | ${PN}-amdgpu-license ${PN}-amdgpu \ | 292 | ${PN}-amdgpu-license ${PN}-amdgpu \ |
293 | ${PN}-amdgpu-aldebaran \ | ||
294 | ${PN}-amdgpu-carrizo \ | ||
295 | ${PN}-amdgpu-cezanne \ | ||
296 | ${PN}-amdgpu-fiji \ | ||
297 | ${PN}-amdgpu-hawaii \ | ||
298 | ${PN}-amdgpu-navi10 \ | ||
299 | ${PN}-amdgpu-navi14 \ | ||
300 | ${PN}-amdgpu-navi21 \ | ||
301 | ${PN}-amdgpu-navi22 \ | ||
302 | ${PN}-amdgpu-navi23 \ | ||
303 | ${PN}-amdgpu-navi24 \ | ||
304 | ${PN}-amdgpu-navi31 \ | ||
305 | ${PN}-amdgpu-navi32 \ | ||
306 | ${PN}-amdgpu-oland \ | ||
307 | ${PN}-amdgpu-polaris10 \ | ||
308 | ${PN}-amdgpu-polaris11 \ | ||
309 | ${PN}-amdgpu-polaris12 \ | ||
310 | ${PN}-amdgpu-raven \ | ||
311 | ${PN}-amdgpu-rembrandt \ | ||
312 | ${PN}-amdgpu-renoir \ | ||
313 | ${PN}-amdgpu-stoney \ | ||
314 | ${PN}-amdgpu-tonga \ | ||
315 | ${PN}-amdgpu-topaz \ | ||
316 | ${PN}-amdgpu-vega10 \ | ||
317 | ${PN}-amdgpu-vega12 \ | ||
318 | ${PN}-amdgpu-misc \ | ||
293 | ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \ | 319 | ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \ |
294 | ${PN}-mediatek-license ${PN}-mediatek \ | 320 | ${PN}-mediatek-license ${PN}-mediatek \ |
295 | ${PN}-microchip-license ${PN}-microchip \ | 321 | ${PN}-microchip-license ${PN}-microchip \ |
@@ -712,13 +738,107 @@ RDEPENDS:${PN}-radeon += "${PN}-radeon-license" | |||
712 | # For amdgpu | 738 | # For amdgpu |
713 | LICENSE:${PN}-amdgpu = "Firmware-amdgpu" | 739 | LICENSE:${PN}-amdgpu = "Firmware-amdgpu" |
714 | LICENSE:${PN}-amdgpu-license = "Firmware-amdgpu" | 740 | LICENSE:${PN}-amdgpu-license = "Firmware-amdgpu" |
741 | LICENSE:${PN}-amdgpu-aldebaran = "Firmware-amdgpu" | ||
742 | LICENSE:${PN}-amdgpu-carrizo = "Firmware-amdgpu" | ||
743 | LICENSE:${PN}-amdgpu-cezanne = "Firmware-amdgpu" | ||
744 | LICENSE:${PN}-amdgpu-fiji = "Firmware-amdgpu" | ||
745 | LICENSE:${PN}-amdgpu-hawaii = "Firmware-amdgpu" | ||
746 | LICENSE:${PN}-amdgpu-navi10 = "Firmware-amdgpu" | ||
747 | LICENSE:${PN}-amdgpu-navi14 = "Firmware-amdgpu" | ||
748 | LICENSE:${PN}-amdgpu-navi21 = "Firmware-amdgpu" | ||
749 | LICENSE:${PN}-amdgpu-navi22 = "Firmware-amdgpu" | ||
750 | LICENSE:${PN}-amdgpu-navi23 = "Firmware-amdgpu" | ||
751 | LICENSE:${PN}-amdgpu-navi24 = "Firmware-amdgpu" | ||
752 | LICENSE:${PN}-amdgpu-navi31 = "Firmware-amdgpu" | ||
753 | LICENSE:${PN}-amdgpu-navi32 = "Firmware-amdgpu" | ||
754 | LICENSE:${PN}-amdgpu-oland = "Firmware-amdgpu" | ||
755 | LICENSE:${PN}-amdgpu-polaris10 = "Firmware-amdgpu" | ||
756 | LICENSE:${PN}-amdgpu-polaris11 = "Firmware-amdgpu" | ||
757 | LICENSE:${PN}-amdgpu-polaris12 = "Firmware-amdgpu" | ||
758 | LICENSE:${PN}-amdgpu-raven = "Firmware-amdgpu" | ||
759 | LICENSE:${PN}-amdgpu-rembrandt = "Firmware-amdgpu" | ||
760 | LICENSE:${PN}-amdgpu-renoir = "Firmware-amdgpu" | ||
761 | LICENSE:${PN}-amdgpu-stoney = "Firmware-amdgpu" | ||
762 | LICENSE:${PN}-amdgpu-tonga = "Firmware-amdgpu" | ||
763 | LICENSE:${PN}-amdgpu-topaz = "Firmware-amdgpu" | ||
764 | LICENSE:${PN}-amdgpu-vega10 = "Firmware-amdgpu" | ||
765 | LICENSE:${PN}-amdgpu-vega12 = "Firmware-amdgpu" | ||
766 | LICENSE:${PN}-amdgpu-misc = "Firmware-amdgpu" | ||
715 | 767 | ||
716 | FILES:${PN}-amdgpu-license = "${nonarch_base_libdir}/firmware/LICENSE.amdgpu" | 768 | FILES:${PN}-amdgpu-license = "${nonarch_base_libdir}/firmware/LICENSE.amdgpu" |
717 | FILES:${PN}-amdgpu = " \ | 769 | FILES:${PN}-amdgpu-aldebaran = "${nonarch_base_libdir}/firmware/amdgpu/aldebaran_*.bin" |
718 | ${nonarch_base_libdir}/firmware/amdgpu \ | 770 | FILES:${PN}-amdgpu-carrizo = "${nonarch_base_libdir}/firmware/amdgpu/carrizo_*.bin" |
719 | " | 771 | FILES:${PN}-amdgpu-cezanne = "${nonarch_base_libdir}/firmware/amdgpu/green_sardine_*.bin" |
772 | FILES:${PN}-amdgpu-fiji = "${nonarch_base_libdir}/firmware/amdgpu/fiji_*.bin" | ||
773 | FILES:${PN}-amdgpu-hawaii = "${nonarch_base_libdir}/firmware/amdgpu/hawaii_*.bin" | ||
774 | FILES:${PN}-amdgpu-navi10 = "${nonarch_base_libdir}/firmware/amdgpu/navi10_*.bin" | ||
775 | FILES:${PN}-amdgpu-navi14 = "${nonarch_base_libdir}/firmware/amdgpu/navi14_*.bin" | ||
776 | FILES:${PN}-amdgpu-navi21 = "${nonarch_base_libdir}/firmware/amdgpu/sienna_cichlid_*.bin" | ||
777 | FILES:${PN}-amdgpu-navi22 = "${nonarch_base_libdir}/firmware/amdgpu/navy_flounder_*.bin" | ||
778 | FILES:${PN}-amdgpu-navi23 = "${nonarch_base_libdir}/firmware/amdgpu/dimgrey_cavefish_*.bin" | ||
779 | FILES:${PN}-amdgpu-navi24 = "${nonarch_base_libdir}/firmware/amdgpu/beige_goby_*.bin" | ||
780 | FILES:${PN}-amdgpu-navi31 = "${nonarch_base_libdir}/firmware/amdgpu/gc_11_0_0_*.bin \ | ||
781 | ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_0_sos.bin \ | ||
782 | ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_0_ta.bin \ | ||
783 | ${nonarch_base_libdir}/firmware/amdgpu/smu_13_0_0.bin \ | ||
784 | ${nonarch_base_libdir}/firmware/amdgpu/dcn_3_2_0_dmcub.bin \ | ||
785 | ${nonarch_base_libdir}/firmware/amdgpu/sdma_6_0_0.bin \ | ||
786 | ${nonarch_base_libdir}/firmware/amdgpu/vcn_4_0_0.bin \ | ||
787 | " | ||
788 | FILES:${PN}-amdgpu-navi32 = "${nonarch_base_libdir}/firmware/amdgpu/dcn_3_2_0_dmcub.bin \ | ||
789 | ${nonarch_base_libdir}/firmware/amdgpu/gc_11_0_3_*.bin \ | ||
790 | ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_10_sos.bin \ | ||
791 | ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_10_ta.bin \ | ||
792 | ${nonarch_base_libdir}/firmware/amdgpu/sdma_6_0_3.bin \ | ||
793 | ${nonarch_base_libdir}/firmware/amdgpu/smu_13_0_10.bin \ | ||
794 | ${nonarch_base_libdir}/firmware/amdgpu/vcn_4_0_0.bin \ | ||
795 | " | ||
796 | FILES:${PN}-amdgpu-oland = "${nonarch_base_libdir}/firmware/amdgpu/oland_*.bin" | ||
797 | FILES:${PN}-amdgpu-polaris10 = "${nonarch_base_libdir}/firmware/amdgpu/polaris10_*.bin" | ||
798 | FILES:${PN}-amdgpu-polaris11 = "${nonarch_base_libdir}/firmware/amdgpu/polaris11_*.bin" | ||
799 | FILES:${PN}-amdgpu-polaris12 = "${nonarch_base_libdir}/firmware/amdgpu/polaris12_*.bin" | ||
800 | FILES:${PN}-amdgpu-raven = "${nonarch_base_libdir}/firmware/amdgpu/raven_*.bin" | ||
801 | FILES:${PN}-amdgpu-rembrandt = "${nonarch_base_libdir}/firmware/amdgpu/yellow_carp_*.bin" | ||
802 | FILES:${PN}-amdgpu-renoir = "${nonarch_base_libdir}/firmware/amdgpu/renoir_*.bin" | ||
803 | FILES:${PN}-amdgpu-stoney = "${nonarch_base_libdir}/firmware/amdgpu/stoney_*.bin" | ||
804 | FILES:${PN}-amdgpu-tonga = "${nonarch_base_libdir}/firmware/amdgpu/tonga_*.bin" | ||
805 | FILES:${PN}-amdgpu-topaz = "${nonarch_base_libdir}/firmware/amdgpu/topaz_*.bin" | ||
806 | FILES:${PN}-amdgpu-vega10 = "${nonarch_base_libdir}/firmware/amdgpu/vega10_*.bin" | ||
807 | FILES:${PN}-amdgpu-vega12 = "${nonarch_base_libdir}/firmware/amdgpu/vega12_*.bin" | ||
808 | FILES:${PN}-amdgpu-misc = "${nonarch_base_libdir}/firmware/amdgpu/*" | ||
809 | # -amdgpu is a virtual package that depends upon all amdgpu packages. | ||
810 | ALLOW_EMPTY:${PN}-amdgpu = "1" | ||
811 | # -amdgpu-misc is a catch all package that includes all the amdgpu | ||
812 | # firmwares that are not already included in other -amdgpu- packages. | ||
813 | ALLOW_EMPTY:${PN}-amdgpu-misc = "1" | ||
720 | 814 | ||
721 | RDEPENDS:${PN}-amdgpu += "${PN}-amdgpu-license" | 815 | RDEPENDS:${PN}-amdgpu += "${PN}-amdgpu-license" |
816 | RDEPENDS:${PN}-amdgpu-aldebaran += "${PN}-amdgpu-license" | ||
817 | RDEPENDS:${PN}-amdgpu-carrizo += "${PN}-amdgpu-license" | ||
818 | RDEPENDS:${PN}-amdgpu-cezanne += "${PN}-amdgpu-license" | ||
819 | RDEPENDS:${PN}-amdgpu-fiji += "${PN}-amdgpu-license" | ||
820 | RDEPENDS:${PN}-amdgpu-hawaii += "${PN}-amdgpu-license" | ||
821 | RDEPENDS:${PN}-amdgpu-navi10 += "${PN}-amdgpu-license" | ||
822 | RDEPENDS:${PN}-amdgpu-navi14 += "${PN}-amdgpu-license" | ||
823 | RDEPENDS:${PN}-amdgpu-navi21 += "${PN}-amdgpu-license" | ||
824 | RDEPENDS:${PN}-amdgpu-navi22 += "${PN}-amdgpu-license" | ||
825 | RDEPENDS:${PN}-amdgpu-navi23 += "${PN}-amdgpu-license" | ||
826 | RDEPENDS:${PN}-amdgpu-navi24 += "${PN}-amdgpu-license" | ||
827 | RDEPENDS:${PN}-amdgpu-navi31 += "${PN}-amdgpu-license" | ||
828 | RDEPENDS:${PN}-amdgpu-navi32 += "${PN}-amdgpu-license" | ||
829 | RDEPENDS:${PN}-amdgpu-oland += "${PN}-amdgpu-license" | ||
830 | RDEPENDS:${PN}-amdgpu-polaris10 += "${PN}-amdgpu-license" | ||
831 | RDEPENDS:${PN}-amdgpu-polaris11 += "${PN}-amdgpu-license" | ||
832 | RDEPENDS:${PN}-amdgpu-polaris12 += "${PN}-amdgpu-license" | ||
833 | RDEPENDS:${PN}-amdgpu-raven += "${PN}-amdgpu-license" | ||
834 | RDEPENDS:${PN}-amdgpu-rembrandt += "${PN}-amdgpu-license" | ||
835 | RDEPENDS:${PN}-amdgpu-renoir += "${PN}-amdgpu-license" | ||
836 | RDEPENDS:${PN}-amdgpu-stoney += "${PN}-amdgpu-license" | ||
837 | RDEPENDS:${PN}-amdgpu-tonga += "${PN}-amdgpu-license" | ||
838 | RDEPENDS:${PN}-amdgpu-topaz += "${PN}-amdgpu-license" | ||
839 | RDEPENDS:${PN}-amdgpu-vega10 += "${PN}-amdgpu-license" | ||
840 | RDEPENDS:${PN}-amdgpu-vega12 += "${PN}-amdgpu-license" | ||
841 | RDEPENDS:${PN}-amdgpu-misc += "${PN}-amdgpu-license" | ||
722 | 842 | ||
723 | # For lontium | 843 | # For lontium |
724 | LICENSE:${PN}-lt9611uxc = "Firmware-Lontium" | 844 | LICENSE:${PN}-lt9611uxc = "Firmware-Lontium" |
@@ -1775,6 +1895,7 @@ RDEPENDS:${PN} += "${PN}-whence-license" | |||
1775 | # Make linux-firmware-ibt depend on all of the split-out ibt packages. | 1895 | # Make linux-firmware-ibt depend on all of the split-out ibt packages. |
1776 | # Make linux-firmware-ath10k depend on all of the split-out ath10k packages. | 1896 | # Make linux-firmware-ath10k depend on all of the split-out ath10k packages. |
1777 | # Make linux-firmware-ath11k depend on all of the split-out ath11k packages. | 1897 | # Make linux-firmware-ath11k depend on all of the split-out ath11k packages. |
1898 | # Make linux-firmware-amdgpu depend on all of the split-out amdgpu packages. | ||
1778 | python populate_packages:prepend () { | 1899 | python populate_packages:prepend () { |
1779 | firmware_pkgs = oe.utils.packages_filter_out_system(d) | 1900 | firmware_pkgs = oe.utils.packages_filter_out_system(d) |
1780 | d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs)) | 1901 | d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs)) |
@@ -1790,6 +1911,9 @@ python populate_packages:prepend () { | |||
1790 | 1911 | ||
1791 | ath11k_pkgs = filter(lambda x: x.find('-ath11k-') != -1, firmware_pkgs) | 1912 | ath11k_pkgs = filter(lambda x: x.find('-ath11k-') != -1, firmware_pkgs) |
1792 | d.appendVar('RRECOMMENDS:linux-firmware-ath11k', ' ' + ' '.join(ath11k_pkgs)) | 1913 | d.appendVar('RRECOMMENDS:linux-firmware-ath11k', ' ' + ' '.join(ath11k_pkgs)) |
1914 | |||
1915 | amdgpu_pkgs = filter(lambda x: x.find('-amdgpu-') != -1, firmware_pkgs) | ||
1916 | d.appendVar('RRECOMMENDS:linux-firmware-amdgpu', ' ' + ' '.join(amdgpu_pkgs)) | ||
1793 | } | 1917 | } |
1794 | 1918 | ||
1795 | # Firmware files are generally not ran on the CPU, so they can be | 1919 | # Firmware files are generally not ran on the CPU, so they can be |