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