diff --git a/.gitattributes b/.gitattributes index 17fd394..ad4a8fc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -26,4 +26,3 @@ ast_dp501_fw.bin filter=lfs diff=lfs merge=lfs -text ql2600_fw.bin filter=lfs diff=lfs merge=lfs -text ql2700_fw.bin filter=lfs diff=lfs merge=lfs -text ql8300_fw.bin filter=lfs diff=lfs merge=lfs -text -rtw8822c_fw.bin filter=lfs diff=lfs merge=lfs -text diff --git a/_multibuild b/_multibuild index 6e02b95..e65c6e0 100644 --- a/_multibuild +++ b/_multibuild @@ -1,3 +1,3 @@ - compressed + uncompressed diff --git a/_servicedata b/_servicedata index 0204bec..ff48f8c 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git - 0e048b061bde79ad735c7b7b5161ee1bd3400150 \ No newline at end of file + 49f9e3479fb564ab96ebbfef327743b0ec2a7620 \ No newline at end of file diff --git a/aliases.list b/aliases.list index c71eb2b..67b5589 100644 --- a/aliases.list +++ b/aliases.list @@ -2899,6 +2899,14 @@ msm: of:N*T*Cqcom,sm6115-dpu msm: of:N*T*Cqcom,sm6115-dpuC* msm: of:N*T*Cqcom,sm6115-mdss msm: of:N*T*Cqcom,sm6115-mdssC* +msm: of:N*T*Cqcom,sm6350-dpu +msm: of:N*T*Cqcom,sm6350-dpuC* +msm: of:N*T*Cqcom,sm6350-mdss +msm: of:N*T*Cqcom,sm6350-mdssC* +msm: of:N*T*Cqcom,sm6375-dpu +msm: of:N*T*Cqcom,sm6375-dpuC* +msm: of:N*T*Cqcom,sm6375-mdss +msm: of:N*T*Cqcom,sm6375-mdssC* msm: of:N*T*Cqcom,sm8150-dpu msm: of:N*T*Cqcom,sm8150-dpuC* msm: of:N*T*Cqcom,sm8150-mdss diff --git a/amd-ucode-rawfile.patch b/amd-ucode-rawfile.patch new file mode 100644 index 0000000..ea5f960 --- /dev/null +++ b/amd-ucode-rawfile.patch @@ -0,0 +1,30 @@ +diff --git a/WHENCE b/WHENCE +index 390a5689408e..852e88f55341 100644 +--- a/WHENCE ++++ b/WHENCE +@@ -3912,20 +3912,15 @@ License: Redistributable. See LICENSE.amd-sev for details + + Driver: microcode_amd - AMD CPU Microcode Update Driver for Linux + +-File: amd-ucode/microcode_amd.bin +-Raw: amd-ucode/microcode_amd.bin ++RawFile: amd-ucode/microcode_amd.bin + Version: 2013-07-10 +-File: amd-ucode/microcode_amd_fam15h.bin +-Raw: amd-ucode/microcode_amd_fam15h.bin ++RawFile: amd-ucode/microcode_amd_fam15h.bin + Version: 2018-05-24 +-File: amd-ucode/microcode_amd_fam16h.bin +-Raw: amd-ucode/microcode_amd_fam16h.bin ++RawFile: amd-ucode/microcode_amd_fam16h.bin + Version: 2014-10-28 +-File: amd-ucode/microcode_amd_fam17h.bin +-Raw: amd-ucode/microcode_amd_fam17h.bin ++RawFile: amd-ucode/microcode_amd_fam17h.bin + Version: 2023-07-19 +-File: amd-ucode/microcode_amd_fam19h.bin +-Raw: amd-ucode/microcode_amd_fam19h.bin ++RawFile: amd-ucode/microcode_amd_fam19h.bin + Version: 2023-08-08 + File: amd-ucode/README + diff --git a/copy-file-ignore-README.patch b/copy-file-ignore-README.patch new file mode 100644 index 0000000..938b230 --- /dev/null +++ b/copy-file-ignore-README.patch @@ -0,0 +1,14 @@ +diff --git a/copy-firmware.sh b/copy-firmware.sh +index 1ae1e37c37e5..68fbf83ea650 100755 +--- a/copy-firmware.sh ++++ b/copy-firmware.sh +@@ -66,6 +66,9 @@ done + + # shellcheck disable=SC2162 # file/folder name can include escaped symbols + grep -E '^(RawFile|File):' WHENCE | sed -E -e 's/^(RawFile|File): */\1 /;s/"//g' | while read k f; do ++ case "$f" in ++ */README) continue;; ++ esac + test -f "$f" || continue + install -d "$destdir/$(dirname "$f")" + $verbose "copying/compressing file $f$compext" diff --git a/kernel-firmware-20230814.tar.xz b/kernel-firmware-20230814.tar.xz deleted file mode 100644 index 76eec4d..0000000 --- a/kernel-firmware-20230814.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:237963594916768cb988d95eb07498db71bdee438f0ffaf70324b35d4ce5053c -size 288057376 diff --git a/kernel-firmware-20230829.tar.xz b/kernel-firmware-20230829.tar.xz new file mode 100644 index 0000000..5bdffc3 --- /dev/null +++ b/kernel-firmware-20230829.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39956b7c9b6316211f68d70e45933ef26cea132f7f3214f4636abda1425565d9 +size 288932500 diff --git a/kernel-firmware.changes b/kernel-firmware.changes index 9cfd315..2fad2f1 100644 --- a/kernel-firmware.changes +++ b/kernel-firmware.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Tue Aug 29 15:09:31 UTC 2023 - tiwai@suse.com + +- Update to version 20230829 (git commit 49f9e3479fb5): + * i915: Update MTL DMC to v2.16 + * copy-firmware: Introduce 'RawFile' keyword + * copy-firmware: Support additional compressor options + * linux-firmware: Update firmware file for Intel Bluetooth AX203 + * linux-firmware: Update firmware file for Intel Bluetooth AX203 + * linux-firmware: Update firmware file for Intel Bluetooth AX211 + * linux-firmware: Update firmware file for Intel Bluetooth AX211 + * linux-firmware: Update firmware file for Intel Bluetooth AX210 + * linux-firmware: Update firmware file for Intel Bluetooth AX200 + * linux-firmware: Update firmware file for Intel Bluetooth AX201 + * linux-firmware: update firmware for qat_4xxx devices + * linux-firmware: Update AMD SEV firmware + * amdgpu: update DMCUB to 0.0.181.0 for various AMDGPU ASICs + * rtw89: 8852b: update fw to v0.29.29.3 + * rtw89: 8851b: update fw to v0.29.41.2 + * i915: add GSC 102.0.0.1655 for MTL + * amdgpu: DMCUB updates for various AMDGPU asics +- Switch to the compressed / split installation as default, make + uncompressed / raw package as a multibuild flavor, instead + as a preliminary work for dropping the big kernel-firmware + (bsc#1214789) +- Use the standard copy-file.sh for split package installation, too + Another scirpt, make-files.sh, is provided for generating file lists +- Ignore README in copy-file.sh: + copy-file-ignore-README.patch +- Workaround for installing raw files for ucode-amd: + amd-ucode-rawfile.patch +- Drop the obsolsted revert of rtw8822c_fw.bin +- Update aliases from 6.5 + ------------------------------------------------------------------- Fri Aug 18 14:04:53 UTC 2023 - tiwai@suse.com diff --git a/kernel-firmware.spec b/kernel-firmware.spec index 6264552..eddf73b 100644 --- a/kernel-firmware.spec +++ b/kernel-firmware.spec @@ -21,21 +21,17 @@ %define _firmwaredir /lib/firmware %endif %define __ksyms_path ^%{_firmwaredir} -%define version_unconverted 20230814 +%define version_unconverted 20230829 # Force bzip2 instead of lzma compression (bsc#1176981) %define _binary_payload w9.bzdio Name: kernel-firmware -Version: 20230814 +Version: 20230829 Release: 0 Summary: Linux kernel firmware files License: GPL-2.0-only AND SUSE-Firmware AND GPL-2.0-or-later AND MIT Group: System/Kernel URL: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ -# Created with umask 022; cd /_tmp -# After git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git -# cd linux-firmware -# git archive --format=tar --prefix=kernel-firmware-$version/ -v master ./ | xz -9 -M 4G --check=crc32 -T 4 > /tmp/kernel-firmware-$version.tar.xz -# +# Created via OSC service Source0: kernel-firmware-%{version}.tar.xz Source1: extrawhence Source2: ast_dp501_fw.bin @@ -43,10 +39,8 @@ Source8: ql2600_fw.bin Source9: ql2700_fw.bin Source10: ql8300_fw.bin Source99: kernel-firmware-rpmlintrc -# temporary revert (bsc#1202152): taken from upstream commit 06acb465d80b -Source100: rtw8822c_fw.bin # install / build infrastructure -Source1001: install-split.sh +Source1001: make-files.sh Source1002: list-license.sh Source1003: get_supplements.sh Source1004: topics.list @@ -63,6 +57,9 @@ Source1014: README.build # workarounds Source1100: qcom-post Source1101: uncompressed-post +# workarounds +Patch1: copy-file-ignore-README.patch +Patch2: amd-ucode-rawfile.patch BuildRequires: fdupes BuildRequires: suse-module-tools Requires(post): %{_bindir}/mkdir @@ -4162,8 +4159,16 @@ Supplements: modalias(of:N*T*Cqcom,sm6350-adsp-pas) Supplements: modalias(of:N*T*Cqcom,sm6350-adsp-pasC*) Supplements: modalias(of:N*T*Cqcom,sm6350-cdsp-pas) Supplements: modalias(of:N*T*Cqcom,sm6350-cdsp-pasC*) +Supplements: modalias(of:N*T*Cqcom,sm6350-dpu) +Supplements: modalias(of:N*T*Cqcom,sm6350-dpuC*) +Supplements: modalias(of:N*T*Cqcom,sm6350-mdss) +Supplements: modalias(of:N*T*Cqcom,sm6350-mdssC*) Supplements: modalias(of:N*T*Cqcom,sm6350-mpss-pas) Supplements: modalias(of:N*T*Cqcom,sm6350-mpss-pasC*) +Supplements: modalias(of:N*T*Cqcom,sm6375-dpu) +Supplements: modalias(of:N*T*Cqcom,sm6375-dpuC*) +Supplements: modalias(of:N*T*Cqcom,sm6375-mdss) +Supplements: modalias(of:N*T*Cqcom,sm6375-mdssC*) Supplements: modalias(of:N*T*Cqcom,sm8150-adsp-pas) Supplements: modalias(of:N*T*Cqcom,sm8150-adsp-pasC*) Supplements: modalias(of:N*T*Cqcom,sm8150-cdsp-pas) @@ -6383,26 +6388,27 @@ various USB WiFi / Ethernet drivers. %prep %setup -q -n kernel-firmware-%{version} +%patch1 -p1 +%patch2 -p1 # additional firmwares cat %{SOURCE1} >> WHENCE cp %{SOURCE2} %{SOURCE8} %{SOURCE9} %{SOURCE10} . -# temporary revert (bsc#1202152) -install -c -m 0644 %{SOURCE100} rtw88/rtw8822c_fw.bin %build # nothing to do %install mkdir -p %{buildroot}%{_firmwaredir} -%if "%{flavor}" != "compressed" +%if "%{flavor}" == "uncompressed" sh ./copy-firmware.sh %{buildroot}%{_firmwaredir} %else -sh %{_sourcedir}/install-split.sh -v %{_sourcedir}/topics.list %{buildroot} %{_firmwaredir} < WHENCE +sh ./copy-firmware.sh -v --xz %{buildroot}%{_firmwaredir} +sh %{_sourcedir}/make-files.sh -v %{_sourcedir}/topics.list %{buildroot} %{_firmwaredir} < WHENCE sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %endif %fdupes -s %{buildroot} -%if "%{flavor}" != "compressed" +%if "%{flavor}" == "uncompressed" %pre # ugly workaround for changing qcom/LENOVO/21BX to a symlink (bsc#1204103) if [ ! -L %{_firmwaredir}/qcom/LENOVO/21BX ]; then @@ -6430,15 +6436,6 @@ if [ -L %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew ]; then mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew %{_firmwaredir}/qcom/LENOVO/21BX fi %{?regenerate_initrd_posttrans} - -%post -n ucode-amd -%{?regenerate_initrd_post} - -%postun -n ucode-amd -%{?regenerate_initrd_post} - -%posttrans -n ucode-amd -%{?regenerate_initrd_posttrans} %else %post all @@ -6450,6 +6447,15 @@ fi %posttrans all %{?regenerate_initrd_posttrans} +%post -n ucode-amd +%{?regenerate_initrd_post} + +%postun -n ucode-amd +%{?regenerate_initrd_post} + +%posttrans -n ucode-amd +%{?regenerate_initrd_posttrans} + %post amdgpu %{?regenerate_initrd_post} @@ -6758,7 +6764,7 @@ fi %{?regenerate_initrd_posttrans} %endif -%if "%{flavor}" != "compressed" +%if "%{flavor}" == "uncompressed" %files %doc WHENCE README %license GPL-2 GPL-3 LICEN[CS]E.* @@ -6766,16 +6772,16 @@ fi %exclude %{_firmwaredir}/amd-ucode %exclude %{_firmwaredir}/amd-ucode/* +%else + +%files all +%doc WHENCE README + %files -n ucode-amd %doc amd-ucode/README %license LICENSE.amd-ucode %dir %{_firmwaredir} %{_firmwaredir}/amd-ucode -%endif - -%if "%{flavor}" == "compressed" -%files all -%doc WHENCE README %files -f files-amdgpu amdgpu diff --git a/kernel-firmware.spec.in b/kernel-firmware.spec.in index 13f1435..d71d67d 100644 --- a/kernel-firmware.spec.in +++ b/kernel-firmware.spec.in @@ -31,11 +31,7 @@ Summary: Linux kernel firmware files License: GPL-2.0-only AND SUSE-Firmware AND GPL-2.0-or-later AND MIT Group: System/Kernel URL: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ -# Created with umask 022; cd /_tmp -# After git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git -# cd linux-firmware -# git archive --format=tar --prefix=kernel-firmware-$version/ -v master ./ | xz -9 -M 4G --check=crc32 -T 4 > /tmp/kernel-firmware-$version.tar.xz -# +# Created via OSC service Source0: kernel-firmware-%{version}.tar.xz Source1: extrawhence Source2: ast_dp501_fw.bin @@ -43,10 +39,8 @@ Source8: ql2600_fw.bin Source9: ql2700_fw.bin Source10: ql8300_fw.bin Source99: kernel-firmware-rpmlintrc -# temporary revert (bsc#1202152): taken from upstream commit 06acb465d80b -Source100: rtw8822c_fw.bin # install / build infrastructure -Source1001: install-split.sh +Source1001: make-files.sh Source1002: list-license.sh Source1003: get_supplements.sh Source1004: topics.list @@ -63,6 +57,9 @@ Source1014: README.build # workarounds Source1100: qcom-post Source1101: uncompressed-post +# workarounds +Patch1: copy-file-ignore-README.patch +Patch2: amd-ucode-rawfile.patch BuildRequires: fdupes BuildRequires: suse-module-tools Requires(post): %{_bindir}/mkdir @@ -125,36 +122,36 @@ all files that have been provided by kernel-firmware package. %prep %setup -q -n kernel-firmware-%{version} +%patch1 -p1 +%patch2 -p1 # additional firmwares cat %{SOURCE1} >> WHENCE cp %{SOURCE2} %{SOURCE8} %{SOURCE9} %{SOURCE10} . -# temporary revert (bsc#1202152) -install -c -m 0644 %{SOURCE100} rtw88/rtw8822c_fw.bin %build # nothing to do %install mkdir -p %{buildroot}%{_firmwaredir} -%if "%{flavor}" != "compressed" +%if "%{flavor}" == "uncompressed" sh ./copy-firmware.sh %{buildroot}%{_firmwaredir} %else -sh %{_sourcedir}/install-split.sh -v %{_sourcedir}/topics.list %{buildroot} %{_firmwaredir} < WHENCE +sh ./copy-firmware.sh -v --xz %{buildroot}%{_firmwaredir} +sh %{_sourcedir}/make-files.sh -v %{_sourcedir}/topics.list %{buildroot} %{_firmwaredir} < WHENCE sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %endif %fdupes -s %{buildroot} -%if "%{flavor}" != "compressed" +%if "%{flavor}" == "uncompressed" @@POST@@ - -@@POST@@ -n ucode-amd %else @@POST@@ all +@@POST@@ -n ucode-amd @@SUBPKGPOSTS@@ %endif -%if "%{flavor}" != "compressed" +%if "%{flavor}" == "uncompressed" %files %doc WHENCE README %license GPL-2 GPL-3 LICEN[CS]E.* @@ -162,16 +159,15 @@ sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %exclude %{_firmwaredir}/amd-ucode %exclude %{_firmwaredir}/amd-ucode/* +%else +%files all +%doc WHENCE README + %files -n ucode-amd %doc amd-ucode/README %license LICENSE.amd-ucode %dir %{_firmwaredir} %{_firmwaredir}/amd-ucode -%endif - -%if "%{flavor}" == "compressed" -%files all -%doc WHENCE README @@SUBPKGFILES@@ %endif diff --git a/install-split.sh b/make-files.sh similarity index 64% rename from install-split.sh rename to make-files.sh index a961d84..008189a 100644 --- a/install-split.sh +++ b/make-files.sh @@ -1,9 +1,8 @@ #!/bin/sh # -# Read WHENCE from stdin and install the compressed firmware files into DESTDIR. -# The file list for each topic is created as files-xxx under the current dir. +# Read WHENCE from stdin create files-xxx for each topic # -# usage: install-split.sh [-v] topics.list DESTDIR < WHENCE +# usage: make-files.sh [-v] topics.list DESTDIR < WHENCE # verbose=: @@ -28,7 +27,6 @@ fi make_dirs () { local f="$1" - mkdir -p $(dirname "$dest/$f") local d=$(dirname "$f") if [ "$d" != "." ]; then while true; do @@ -46,41 +44,20 @@ make_dirs () { copy_link () { local f="$1" local lf="$2" - local src - test -f "$dest/$f$cext" && return - if [ -z "$lf" ]; then - lf=$(readlink "$f") + local src="${f%/*}" + if [ "$src" = "$f" ]; then src="$lf" else - src="${f%/*}" - if [ "$src" = "$f" ]; then - src="$lf" - else - src="$src/$lf" - fi + src="$src/$lf" fi make_dirs "$f" if [ -d "$dest/$src" ]; then - ln -sf "$lf" "$dest/$f" echo "\"$fwdir/$f\"" >> files-$topic - $verbose "Link: $lf -> $f (directory) for topic $topic" else - ln -sf "$lf$cext" "$dest/$f$cext" echo "\"$fwdir/$f$cext\"" >> files-$topic - $verbose "Link: $lf$cext -> $f$cext for topic $topic" fi } -copy_file () { - local f="$1" - test -f "$dest/$f$cext" && return - make_dirs "$f" - install -c -m 0644 "$f" $(dirname "$dest/$f") - test -n "$do_compress" && xz -f -C crc32 --lzma2=dict=2MiB "$dest/$f" - echo "\"$fwdir/$f$cext\"" >> files-$topic - $verbose "Copy: $f$cext for topic $topic" -} - sub="xxx" while read l; do test -z "$l" && continue @@ -106,18 +83,19 @@ while read l; do fi fi ;; - File:*) + File:*|RawFile:*) test "$topic" = "SKIP" && continue if [ -z "$topic" ]; then echo "ERROR: no topic found for $l" exit 1 fi f=$(echo "$l" | sed -e's/^File: *//' -e's/"//g' -e's/\\//g') - if [ -L "$f" ]; then - copy_link "$f" - else - copy_file "$f" - fi + case "$f" in + */README) + continue;; + esac + make_dirs "$f" + echo "\"$fwdir/$f$cext\"" >> files-$topic ;; Link:*) test "$topic" = "SKIP" && continue diff --git a/rtw8822c_fw.bin b/rtw8822c_fw.bin deleted file mode 100644 index 15165a7..0000000 --- a/rtw8822c_fw.bin +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:36b483e37640359a6c686be4661b5f2d94928f93e126a2de09e67c5e04c01b26 -size 202456 diff --git a/topics.list b/topics.list index 4ad17ac..bab3c61 100644 --- a/topics.list +++ b/topics.list @@ -127,7 +127,7 @@ btmtk_usb: mediatek rp2: serial go7007: platform go7007 saa7134-go7007 go7007-loader ccp: platform -microcode_amd: SKIP +microcode_amd: ucode-amd mxu11x0: serial ti_usb_3410_5052 mxuport: serial cw1200: network