Zenm Chen [Thu, 7 Nov 2024 00:48:30 +0000 (08:48 +0800)]
rtw88: Add firmware v52.14.0 for RTL8812AU
This file contains the firmware for RTL8812AU and was extracted from
the vendor driver v5.13.6-23-g232107d9b.20210820 from
https://github.com/morrownr/8812au-20210820
ath11k: move WCN6750 firmware to the device-specific subdir
As demonstrated by the inability to use existing WCN6750 firmware on
QCM6490 / QCS6490 devices, such firmware files are device-specific. As a
preparation to adding more device-specific firmware, move existing
firmware to the sc7280/ subdir, squashing it in proceess. Squashing it
simplifies loading (as it requires just a single file access / userspace
call) and also it requires just a single compatibility symlink instead
of ten.
Adam Williamson [Sat, 19 Oct 2024 20:57:38 +0000 (13:57 -0700)]
Makefile: error out of 'install' if COPYOPTS is set
Since https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/319
and https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/331 ,
doing `make COPYOPTS="blahblah" install` does not fail, but does
not do what it did before. This is a surprising and possibly
undesired result (in Fedora, it led to our firmware suddenly
taking up 500MB more space on disk, and that led to a bunch of
live image builds failing).
To make the change more apparent, let's just fail out with an
explanatory message if invoked with COPYOPTS set.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Co-authored by: Emil Velikov <emil.l.velikov@gmail.com>
Emil Velikov [Fri, 18 Oct 2024 12:58:01 +0000 (13:58 +0100)]
check_whence.py: skip some validation if git ls-files fails
Recently we started running check_whence.py to validate WHENCE before
installing files with copy-firmware.sh. It did not consider the fact
that people may be using the distribution tarball, which lacks the
relevant git metadata.
Throw a warning and skip the relevant validation.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
The current version is copied from latest Jetson Linux BSP and it's for
P3310 (TX2) module. While both TX1 and TX2 have same wireless chip,
possibly the SDIO module slightly differ and both have different NVRAM
files provided in separate BSP archives. Although TX1 module wireless
inteface can be brought up with TX2 NVRAM file, the performance is
slightly degraded, simple download test yielded extra 4MiB/s with proper
NVRAM file. Thus, replace it with proper file from R32.7.5 BSP, while
also droping commented-out values, since those are not parsed by the
driver.
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Zenm Chen [Wed, 16 Oct 2024 12:15:44 +0000 (20:15 +0800)]
rtlwifi: Update firmware for RTL8192FU to v7.3
This firmware was extracted from the vendor driver
rtl8192FU_rtl8725AU_WiFi_linux_v5.15.2-53-g9bfbc74cf.20230615_COEX20220422-2b07
provided by Realtek developer.
Emil Velikov [Tue, 15 Oct 2024 16:59:23 +0000 (17:59 +0100)]
configure: remove unused file
Remove the dummy and unused configure file. Glancing across distributions (Alpine, Arch,
Fedora, CentOS Stream, Gentoo, Debian, Ubuntu) - they don't use it.
It's not mentioned in our README either, so let's just remove it.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Lucien.Jheng [Mon, 14 Oct 2024 14:01:26 +0000 (10:01 -0400)]
linux-firmware: update firmware for en8811h 2.5G ethernet phy
1. Reinitialize the FNPLL clock during MD32 startup.
2. Optimize cable diag
3. Set Co-Clock default enable
4. Enable EMI Calibration Function
5. Enhance AN control mechanism
6. Fix internal bus arbitrator issue
Emil Velikov [Sun, 22 Sep 2024 16:10:01 +0000 (17:10 +0100)]
copy-firmware.sh: remove no longer reachable test -L
The check_whence.py script ensures that links defined in WHENCE are not in-tree.
Since we're calling the script, we no longer need the convoluted path and
associated --prune tag.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Emil Velikov [Sun, 22 Sep 2024 15:44:25 +0000 (16:44 +0100)]
copy-firmware.sh: call ./check_whence.py before parsing the file
Currently ./check_whence.py is used when submitting new firmware, while
copy-firmware.sh when the firmware is to be consumed.
Since the latter does (very little) validation, having a malformed WHENCE file
can lead to all sorted of problems. From the obvious, where it errors out, to
more serious one where it overwrites or executes something it should not have.
Just call check_whence.py and error out. It takes 0.2s on my 5 year old
mid-range laptop, so the overhead is negligible.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Emil Velikov [Sun, 22 Sep 2024 16:00:01 +0000 (17:00 +0100)]
copy-firmware.sh: warn if the destination folder is not empty
If the user provides an existing non-empty folder (their /usr/lib/firmware/ or otherwise)
there is a high chance we'll silently overwrite existing files. That may or may not be what
they wanted, so throw a warning so highlight that.
v2:
- use printf instead of echo
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Emil Velikov [Mon, 23 Sep 2024 11:09:08 +0000 (12:09 +0100)]
copy-firmware.sh: reset and consistently handle destdir
Currently we don't reset/override the destdir variable, so we end up inheriting
whatever the caller's environment has for it. While it may work, it's not
particularly consistent (be that within the script or other tools) nor is it
obvious.
While in here, ensure we handle the variable with test -z/-n instead of varying
other constructs.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
The commit effectively added accidental command injection, while it was aiming
to control the compression flags.
In practise you'd want to use ZSTD_CLEVEL and ZSTD_NBTHREADS for zstd. As
documented in zstd(1) it allows for up-to level 19, which is fine since the
kernel does not support higher levels.
Arch, Alpine and likely other distributions have been using this approach
since day one.
The other compressors like xz have equivalent.
Cc: Juerg Haefliger <juerg.haefliger@canonical.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Emil Velikov [Sun, 22 Sep 2024 15:21:44 +0000 (16:21 +0100)]
copy-firmware.sh: flesh out and fix dedup-firmware.sh
Flesh out the de-duplication logic in separate script. The copy-firmware.sh is
already complex enough and de-duplication doesn't really fit in there.
In the process we migrate away from the open-coded `ln --relative`. We also
avoid touching symlinks, which are not created by rdfind. Otherwise we end up
"fixing" the folder to folder symlinks (created earlier in the process) and
things explode.
As result we also get a few bonuses:
- the COPYOPTS shell injection is gone - the variable was never used
- people can dedup as separate step if/when they choose to do so
Aside: based on the noise in git log and around distros ... I'm wondering if
having the de-duplication as opt-in, would have been better. Is it too late to
change or the ship has sailed?
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Emil Velikov [Sun, 22 Sep 2024 16:31:24 +0000 (17:31 +0100)]
check_whence.py: ban link-to-a-link
Using link-to-a-link reduces legibility and changes to the root link,
also changes the leafs. Where the latter may be undesired and in some
cases just wrong.
We have a couple of instances in-tree, so fix them up and ban the
combination.
One particularly good example, why we'd want this is:
https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/272
Release notes:
- Skip PSR phy power sequence in some specific cases
- Block IDLE_EVENT if there is a missing timer
- Handle minimum duration in IPS if it is close to hpd check