Commit Graph

4292 Commits (20241210)

Author SHA1 Message Date
Emil Velikov 2f0464118f 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>
2024-10-18 15:08:24 +00:00
Mario Limonciello 1f83bd21e4 Merge branch 'robot/pr-0-1729235875' into 'main'
robot/pr-0-1729235875

See merge request kernel-firmware/linux-firmware!337
2024-10-18 13:21:04 +00:00
Sibi Sankar feb324e311 qcom: Add Audio firmware for X1E80100 CRD/QCPs
Add audio firmware for X1E80100 CRD/QCPs, which are required to get
charging and audio functional.

Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
2024-10-18 13:19:10 +00:00
Mario Limonciello 9b2a30ea06 Merge branch 'amd-staging' into 'main'
amdgpu: DMCUB updates for various AMDGPU ASICs

See merge request kernel-firmware/linux-firmware!338
2024-10-18 13:12:02 +00:00
Wayne Lin 3d45353e12 amdgpu: DMCUB updates forvarious AMDGPU ASICs
DMCUB updaes for DCN314, DCN351, DCN35, Yellow Carp
From internal git commit 358f90a77c62e560cb40b578b86ec09a2f69b99f

Firmware release 0.0.239.0
Tested with DC 3.2.306

Release notes:
- Fix USB4
- Avoid SDP in VActive

Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
2024-10-18 08:04:24 +00:00
Mario Limonciello 8dbcf94bfc Merge branch 'robot/patch-0-1729102102' into 'main'
robot/patch-0-1729102102

See merge request kernel-firmware/linux-firmware!334
2024-10-17 15:40:04 +00:00
Tomasz Maciej Nowak c569ca455c brcm: replace NVRAM for Jetson TX1
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>
2024-10-17 15:30:51 +00:00
Josh Boyer 22a6c7dcc1 Merge branch 'robot/patch-0-1729081061' into 'main'
robot/patch-0-1729081061

See merge request kernel-firmware/linux-firmware!333
2024-10-17 12:45:19 +00:00
Zenm Chen efcf2f1028 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.

Signed-off-by: Zenm Chen <zenmchen@gmail.com>
2024-10-17 12:43:34 +00:00
Mario Limonciello ab2a7d892e Merge branch 'split-dedup' into 'main'
Remove configure, fix and check permissions, split out de-duplication

See merge request kernel-firmware/linux-firmware!331
2024-10-16 15:54:54 +00:00
Emil Velikov 515022675f make: separate installation and de-duplication targets
For better or worse some distributions cannot have the firmware
de-duplication happen automatically.

In addition, when it was introduced it changed the default behaviour
leaving people with no firmware in their systems.

Revert to the original behaviour: in the worst case, people will have a
few MB extra of duplicate firmware, yet their systems will continue to
work.

To make things stand out, we print a message at the end of install so
that everyone can opt-in as needed.

In addition, I've went ahead and opened tentative MR/PR with Alpine,
Arch, CentOS Stream, Debian, Gentoo, informing them of this change.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-16 15:52:59 +00:00
Emil Velikov 8c232721a5 check_whence.py: check the permissions
A handful of in-tree scripts must have the execute bit, as well as all
directories. Everything else should not.

In the past we had multiple commits adding and removing execute bit(s),
so instead we can check before things get in-tree.

With all the firmware files updated to drop the bit (as of last commit),
we can add some tests to enforce it going forward.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-16 15:52:59 +00:00
Emil Velikov 5ddb886bef Remove execute bit from firmware files
AFAICT neither of the firmware files need to be executable, so drop the
execute bit.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-16 15:52:59 +00:00
Emil Velikov d2fd241fe0 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>
2024-10-16 15:52:59 +00:00
Mario Limonciello a296fe324c Merge branch 'robot/patch-0-1729044406' into 'main'
robot/patch-0-1729044406

See merge request kernel-firmware/linux-firmware!332
2024-10-16 02:08:41 +00:00
ChunHao Lin 2af74771a7 rtl_nic: add firmware rtl8125d-1
This adds firmware rtl8125d-1 for RTL8125d rev.a.

Signed-off-by: ChunHao Lin <hau@realtek.com>
2024-10-15 21:06:46 -05:00
Mario Limonciello 4e420ebb4c Merge branch 'robot/pr-0-1728931123' into 'main'
robot/pr-0-1728931123

See merge request kernel-firmware/linux-firmware!329
2024-10-14 18:52:25 +00:00
Miri Korenblit 99f9c7ed1f iwlwifi: add gl/Bz FW for core91-69 release
Add the -94 ucode firmware and update the pnvm binary
for gl/bz device.

Build number: Core_manual_signed_core91-69
Revision: 67ce4588 (gl, bz)

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2024-10-14 18:50:36 +00:00
Miri Korenblit b67630c6ff iwlwifi: update ty/So/Ma firmwares for core91-69 release
Update -89.ucode firmwares for ty/So/Ma devices,
and update the PNVM files.

Build number: Core_manual_signed_core91-69
Revision: 6b44fa0b (ty, so, ma)

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2024-10-14 18:50:36 +00:00
Miri Korenblit d032dfb87e iwlwifi: update cc/Qu/QuZ firmwares for core91-69 release
Update -77.ucode firmwares for cc/Qu/QuZ devices.

Build number: Core_manual_signed_core91-69
Revision: 85be44d3 (Qu, QuZ, cc)

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2024-10-14 18:50:36 +00:00
Josh Boyer ee280db081 Merge branch 'wcn785x' into 'main'
QCA: Add Bluetooth firmwares for WCN785x with UART transport

See merge request kernel-firmware/linux-firmware!328
2024-10-14 17:13:47 +00:00
Josh Boyer caa18c766a Merge https://github.com/zijun-hu/qca_btfw into wcn785x
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2024-10-14 13:10:31 -04:00
Mario Limonciello 3f28e83b72 Merge branch 'robot/pr-0-1728920002' into 'main'
robot/pr-0-1728920002

See merge request kernel-firmware/linux-firmware!327
2024-10-14 15:38:04 +00:00
Simon Trimmer 879bd9ae0b cirrus: cs35l56: Add firmware for Cirrus CS35L56 for a Lenovo Laptop
This patch adds the firmware files for the Cirrus CS35L56 smart
amplifier used in a Lenovo laptop.

- 17aa380e

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
2024-10-14 15:22:54 +00:00
Simon Trimmer ec61c8a2c7 cirrus: cs35l56: Add firmware for Cirrus CS35L56 for some ASUS laptops
This patch adds the firmware files for the Cirrus CS35L56 smart
amplifier used in two ASUS laptops.

- 10431e13
- 10431f43

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
2024-10-14 15:22:47 +00:00
Simon Trimmer 6f4db4495a cirrus: cs35l56: Add firmware for Cirrus Amps for some HP laptops
This patch adds the firmware files for the Cirrus CS35L54 and CS35L56
smart amplifiers used in these HP laptops.

- 103c8d85
- 103c8d86
- 103c8d8c
- 103c8d8d
- 103c8d8e
- 103c8d8f
- 103c8d90
- 103c8d91 (two component variants)
- 103c8d92
- 103c8e14
- 103c8e15
- 103c8e16
- 103c8e17
- 103c8e18
- 103c8e19
- 103c8e1a
- 103c8e1b
- 103c8e1c
- 103c8e2c

Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
2024-10-14 15:22:40 +00:00
Josh Boyer 1292f4f730 Merge branch 'en8811h' into 'main'
linux-firmware: update firmware for en8811h 2.5G ethernet phy

See merge request kernel-firmware/linux-firmware!326
2024-10-14 14:21:12 +00:00
Lucien.Jheng d3480463fc 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

Signed-off-by: Lucien.Jheng <lucien.jheng@airoha.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
2024-10-14 10:03:34 -04:00
Mario Limonciello 06bad2f170 Merge branch 'robot/pr-0-1728664917' into 'main'
robot/pr-0-1728664917

See merge request kernel-firmware/linux-firmware!325
2024-10-11 17:01:39 +00:00
Shayne Chen 808cba847c mtk_wed: add firmware for mt7988 Wireless Ethernet Dispatcher
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
2024-10-12 00:02:10 +08:00
Mario Limonciello d55315295c Merge branch 'superm1/qci-patches' into 'main'
ath12k: QCN9274 hw2.0: add board-2.bin

See merge request kernel-firmware/linux-firmware!322
2024-10-10 19:11:13 +00:00
Jeff Johnson 34d181d737 ath12k: WCN7850 hw2.0: update board-2.bin
Signed-off-by: Jeff Johnson <jjohnson@qti.qualcomm.com>
2024-10-10 14:06:58 -05:00
Jeff Johnson a2d650c9cb ath12k: QCN9274 hw2.0: add to WLAN.WBE.1.3.1-00162-QCAHKSWPL_SILICONZ-1
Signed-off-by: Jeff Johnson <jjohnson@qti.qualcomm.com>
2024-10-10 14:06:42 -05:00
Jeff Johnson 2cdc4f42ce ath12k: QCN9274 hw2.0: add board-2.bin
Signed-off-by: Jeff Johnson <jjohnson@qti.qualcomm.com>
2024-10-10 14:06:42 -05:00
Mario Limonciello c410e4c9fa Merge branch 'pr/misc-fixes' into 'main'
check_whence.py: use consistent naming

See merge request kernel-firmware/linux-firmware!319
2024-10-10 15:40:28 +00:00
Emil Velikov a89349c33c copy-firmware.sh: rename variables in symlink hanlding
Currently we use f(ile) and d(irectory), over the more common ones t(arget) and
l(ink). Rename things appropriately.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00
Emil Velikov 9ce7dac098 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>
2024-10-10 14:33:32 +00:00
Emil Velikov 25d5e6352b copy-firmware.sh: remove no longer reachable test -f
With previous commit we call check_whence.py, which ensures that all files
listed are available. Drop the now dead code.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00
Emil Velikov 6edd0fd36a 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>
2024-10-10 14:33:32 +00:00
Emil Velikov 32f71d6d45 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>
2024-10-10 14:33:32 +00:00
Emil Velikov 97d200d75b copy-firmware.sh: add err() helper
v2:
 - use printf instead of echo -e

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00
Emil Velikov 6360b4a1d7 copy-firmware.sh: fix indentation
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00
Emil Velikov a3446bc1a7 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>
2024-10-10 14:33:32 +00:00
Emil Velikov e8f8537768 Revert "copy-firmware: Support additional compressor options"
This reverts commit 2bad80e7ed.

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>
2024-10-10 14:33:32 +00:00
Emil Velikov ee8c336ab3 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>
2024-10-10 14:33:32 +00:00
Emil Velikov cc4c1fccb0 Style update yaml files
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00
Emil Velikov a924bda835 editorconfig: add initial config file
It's a simple format handled by practically every supported platform or program
out there.

Add an initial configuration file, so we reduce the style variation of the files
in-tree.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00
Emil Velikov 737e6f37c0 check_whence.py: annotate replacement strings as raw
Otherwise python 3.12 throws warnings like below:

.../check_whence.py:40: SyntaxWarning: invalid escape sequence '\ '
  yield match.group(1).replace("\ ", " ").replace('"', "")

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00
Emil Velikov 1dbbc8fb82 check_whence.py: LC_ALL=C sort -u the filelist
Sort the file list, so it's easier to manage.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00
Emil Velikov 8a507494f3 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

In there we have the following:

    File: ti/tas2781/TAS2XXX1EB30.bin
    [snip]
    Link: TAS2XXX1EB3.bin -> ti/tas2781/TAS2XXX1EB3.bin
    Link: ti/tas2781/TAS2XXX1EB3.bin -> TAS2XXX1EB30.bin
    Link: TAS2XXX1EB30.bin -> ti/tas2781/TAS2XXX1EB30.bin

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-10 14:33:32 +00:00