diff --git a/0001-Add-support-for-compressing-firmware-in-copy-firmwar.patch b/0001-Add-support-for-compressing-firmware-in-copy-firmwar.patch new file mode 100644 index 0000000..93d82e4 --- /dev/null +++ b/0001-Add-support-for-compressing-firmware-in-copy-firmwar.patch @@ -0,0 +1,123 @@ +From 7eec2b56f54c778d5bd6e7aea49ee03e3b76e769 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Fri, 22 Jan 2021 20:36:23 +0000 +Subject: [PATCH v2] Add support for compressing firmware in copy-firmware.sh + +As of kernel 5.3 there's initial support for loading compressed firmware. +At this stage the only supported compression methis is "xz -C crc32" but +this option brings significant benefits. + +Signed-off-by: Peter Robinson +--- + +v2: quote filename for xz command + + Makefile | 4 ++++ + copy-firmware.sh | 47 +++++++++++++++++++++++++++++++---------------- + 2 files changed, 35 insertions(+), 16 deletions(-) + +diff --git a/Makefile b/Makefile +index e1c362f..9a48471 100644 +--- a/Makefile ++++ b/Makefile +@@ -11,3 +11,7 @@ check: + install: + mkdir -p $(DESTDIR)$(FIRMWAREDIR) + ./copy-firmware.sh $(DESTDIR)$(FIRMWAREDIR) ++ ++installcompress: ++ mkdir -p $(DESTDIR)$(FIRMWAREDIR) ++ ./copy-firmware.sh -C $(DESTDIR)$(FIRMWAREDIR) +diff --git a/copy-firmware.sh b/copy-firmware.sh +index 9b46b63..0dd2e5c 100755 +--- a/copy-firmware.sh ++++ b/copy-firmware.sh +@@ -6,6 +6,7 @@ + + verbose=: + prune=no ++compress=no + + while test $# -gt 0; do + case $1 in +@@ -19,6 +20,11 @@ while test $# -gt 0; do + shift + ;; + ++ -C | --compress) ++ compress=yes ++ shift ++ ;; ++ + *) + if test "x$destdir" != "x"; then + echo "ERROR: unknown command-line options: $@" +@@ -31,40 +37,49 @@ while test $# -gt 0; do + esac + done + ++if test "x$compress" = "xyes"; then ++ cmpxtn=.xz ++ grep '^File:' WHENCE | sed -e's/^File: *//g' -e's/"//g' | while read f; do ++ test -f "$f" || continue ++ $verbose "compressing $f" ++ xz -C crc32 "$f" ++ done ++fi ++ + grep '^File:' WHENCE | sed -e's/^File: *//g' -e's/"//g' | while read f; do +- test -f "$f" || continue +- $verbose "copying file $f" +- mkdir -p $destdir/$(dirname "$f") +- cp -d "$f" $destdir/"$f" ++ test -f "$f$cmpxtn" || continue ++ $verbose "copying file $f$cmpxtn" ++ mkdir -p $destdir/$(dirname "$f$cmpxtn") ++ cp -d "$f$cmpxtn" $destdir/"$f$cmpxtn" + done + + grep -E '^Link:' WHENCE | sed -e's/^Link: *//g' -e's/-> //g' | while read f d; do +- if test -L "$f"; then +- test -f "$destdir/$f" && continue +- $verbose "copying link $f" +- mkdir -p $destdir/$(dirname "$f") ++ if test -L "$f$cmpxtn"; then ++ test -f "$destdir/$f$cmpxtn" && continue ++ $verbose "copying link $f$cmpxtn" ++ mkdir -p $destdir/$(dirname "$f$cmpxtn") + cp -d "$f" $destdir/"$f" + + if test "x$d" != "x"; then +- target=`readlink "$f"` ++ target=`readlink "$f$cmpxtn"` + + if test "x$target" != "x$d"; then + $verbose "WARNING: inconsistent symlink target: $target != $d" + else + if test "x$prune" != "xyes"; then +- $verbose "WARNING: unneeded symlink detected: $f" ++ $verbose "WARNING: unneeded symlink detected: $f$cmpxtn" + else +- $verbose "WARNING: pruning unneeded symlink $f" +- rm -f "$f" ++ $verbose "WARNING: pruning unneeded symlink $f$cmpxtn" ++ rm -f "$f$cmpxtn" + fi + fi + else +- $verbose "WARNING: missing target for symlink $f" ++ $verbose "WARNING: missing target for symlink $f$cmpxtn" + fi + else +- $verbose "creating link $f -> $d" +- mkdir -p $destdir/$(dirname "$f") +- ln -sf "$d" "$destdir/$f" ++ $verbose "creating link $f$cmpxtn -> $d$cmpxtn" ++ mkdir -p $destdir/$(dirname "$f$cmpxtn") ++ ln -sf "$d$cmpxtn" "$destdir/$f$cmpxtn" + fi + done + +-- +2.29.2 + diff --git a/0001-brcm-Raspberry-Pi-3A-WiFi-NVRAM-support.patch b/0001-brcm-Raspberry-Pi-3A-WiFi-NVRAM-support.patch deleted file mode 100644 index a3c297a..0000000 --- a/0001-brcm-Raspberry-Pi-3A-WiFi-NVRAM-support.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 94ee3042ad924d2ef8383dcde511a99660c23732 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Mon, 21 Jan 2019 07:41:41 +0000 -Subject: [PATCH 1/2] brcm: Raspberry Pi 3A+ WiFi NVRAM support - -The Raspberry Pi 3A+ uses the same WiFi module as the 3B+ so we -just symlink the expected NVRAM file to the 3B+ one. - -Signed-off-by: Peter Robinson ---- - brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt | 1 + - 1 file changed, 1 insertion(+) - create mode 120000 brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt - -diff --git a/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt b/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt -new file mode 120000 -index 0000000..36b5530 ---- /dev/null -+++ b/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt -@@ -0,0 +1 @@ -+brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -\ No newline at end of file --- -2.20.1 - diff --git a/0002-brcm-Raspberry-Pi-Update-ccode-to-X2.patch b/0002-brcm-Raspberry-Pi-Update-ccode-to-X2.patch deleted file mode 100644 index 1b31c43..0000000 --- a/0002-brcm-Raspberry-Pi-Update-ccode-to-X2.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 46e39557221d5eec381c99b9002f9208f71f7128 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Mon, 21 Jan 2019 08:12:49 +0000 -Subject: [PATCH 2/2] brcm: Raspberry Pi: Update ccode to X2 - -As per the docs [1] the X2 ccode allows the use of channels above -11 if the firmware detects appropriate other traffic on those -channels. The ALL option appears to restrict the use to the US -channel options without passively checking so X2 is overall better. - -Also fix a trailling space in the config while we're at it. - -[1] https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211#regulatory_implementation_for_brcmsmac - -Signed-off-by: Peter Robinson ---- - brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt | 4 ++-- - brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt | 1 + - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt b/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt -index 732c19b..38a99db 100644 ---- a/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt -+++ b/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt -@@ -15,7 +15,7 @@ btc_params1=0x7530 - btc_params8=0x4e20 - cckbw202gpo=0 - cckpwroffset0=5 --ccode=ALL -+ccode=X2 - # cldo_pwm is not set - deadman_to=0xffffffff - devid=0x43e2 -@@ -39,7 +39,7 @@ papdmode=1 - papdvalidtest=1 - prodid=0x0726 - propbw202gpo=0xdd --spurconfig=0x3 -+spurconfig=0x3 - sromrev=11 - txpwrbckof=6 - vendid=0x14e4 -diff --git a/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt b/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -index ba94f54..8d01fcf 100644 ---- a/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -+++ b/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -@@ -16,6 +16,7 @@ btc_params8=0x4e20 - cbfilttype=1 - cckPwrIdxCorr=3 - cckTssiDelay=150 -+ccode=X2 - deadman_to=481500000 - devid=0x43ab - dot11agofdmhrbw202gpo=0x4442 --- -2.20.1 - diff --git a/linux-firmware.spec b/linux-firmware.spec index eb9a03b..f235f1f 100644 --- a/linux-firmware.spec +++ b/linux-firmware.spec @@ -1,11 +1,11 @@ %global debug_package %{nil} -%global firmware_release 116 +%global firmware_release 117 %global _firmwarepath /usr/lib/firmware %define _binaries_in_noarch_packages_terminate_build 0 Name: linux-firmware -Version: 20201218 +Version: 20210208 Release: %{firmware_release}%{?dist} Summary: Firmware files used by the Linux kernel License: GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted @@ -13,9 +13,7 @@ URL: http://www.kernel.org/ BuildArch: noarch Source0: https://www.kernel.org/pub/linux/kernel/firmware/%{name}-%{version}.tar.xz - -Patch1: 0001-brcm-Raspberry-Pi-3A-WiFi-NVRAM-support.patch -Patch2: 0002-brcm-Raspberry-Pi-Update-ccode-to-X2.patch +Patch1: 0001-Add-support-for-compressing-firmware-in-copy-firmwar.patch BuildRequires: make Requires: linux-firmware-whence @@ -270,7 +268,12 @@ Firmware for Netronome Smart NICs %install mkdir -p %{buildroot}/%{_firmwarepath} mkdir -p %{buildroot}/%{_firmwarepath}/updates + +%if 0%{?fedora} >= 34 || 0%{?rhel} >= 9 +make DESTDIR=%{buildroot}/ FIRMWAREDIR=%{_firmwarepath} installcompress +%else make DESTDIR=%{buildroot}/ FIRMWAREDIR=%{_firmwarepath} install +%endif #Cleanup files we don't want to ship pushd %{buildroot}/%{_firmwarepath} @@ -434,6 +437,17 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files %{_firmwarepath}/netronome/* %changelog +* Mon Feb 8 2021 Peter Robinson 20210208-117 +- rtl_bt: Updates for RTL8822C, RTL8821C, added RTL8852A +- Link Cypress brcmfmac firmwares to old brcm location +- brcm NVRAM updates for Raspberry Pi, added 96boards Rock960 +- QCom SM8250 (SD865) firmware for Compute, Audio DSPs, Adreno a650, venus VPU-1.0 +- i915: Added firmware for DG1, ADL-S +- Uodated bluetooth firmware for Intel Bluetooth AX200/201/210 +- rtw88: RTL8821C: Update firmware to v24.8 +- New MT7921 firmware +- Mellanox: Add new mlxsw_spectrum firmware xx.2008.2304 + * Sat Dec 19 2020 Peter Robinson - 20201218-116 - Update to upstream 20201218 release - AMD gpu: Updates for vega10/12/20, renoir, navi10/12/14, raven1/2 diff --git a/sources b/sources index ecf47ac..53ea699 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (linux-firmware-20201218.tar.xz) = 9dfce57ad8d23939860d0b005cbbc80227c67e9739479473b1e36a5d32392df1d341eba3a85c0e243590841954dae298913e96168e72c68eeb3762dfd65a38b3 +SHA512 (linux-firmware-20210208.tar.xz) = 122673a9f4662a807667127fc88f85115063836b98283951cc46887cae43e1d6bc912b5b95bf50e1e896ff4b9197577e53705ccb259b614d29c3bae37a637b6d