aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/dev
Commit message (Collapse)AuthorAgeFilesLines
* acpica: Merge ACPICA 20251212Jung-uk Kim8 days32-156/+1106
|\ | | | | | | Merge commit '5cab380e2a2644aaa920b93f1580a1cfc803a8de'
* | ath11k: start making compile some moreBjoern A. Zeeb2025-12-062-0/+6
| | | | | | | | | | There is more work to do to make this compile again but we will do that when we get to the driver. For now just take the most noise out of it.
* | ath11k: update Atheros/QCA's ath11k driverBjoern A. Zeeb2025-12-0667-2069/+4853
| | | | | | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 7d0a66e4bb9081d75c82ec4957c50034cb0ea449 ( tag: v6.18 ). Merge commit '989a88787ef2c1a73f44b82031a6f4f4470e2676' Sponsored by: The FreeBSD Foundation
* | ath10k: update Atheros/QCA's ath10k driverBjoern A. Zeeb2025-12-0647-574/+1009
| | | | | | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 7d0a66e4bb9081d75c82ec4957c50034cb0ea449 ( tag: v6.18 ). Merge commit 'f4669ef6cf7860919442e67106e83f616ed36f51'. Sponsored by: The FreeBSD Foundation
* | ath-common: update common Atheros/QCA codeBjoern A. Zeeb2025-12-069-20/+177
| | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ). Merge commit '99ad6f4f54c86845d6e3f03541913c07fcdeef59'
* | rtw88: update Realtek's rtw88 driverBjoern A. Zeeb2025-12-062-6/+11
| | | | | | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 7d0a66e4bb9081d75c82ec4957c50034cb0ea449 ( tag: v6.18 ). Merge commit 'e543442afe3ad5b27616575be2d2402b988656eb' into rtw88 Sponsored by: The FreeBSD Foundation
* | mt76: add LINUXKPI_PARAM_PREFIX for module_param*Bjoern A. Zeeb2025-12-0311-0/+44
| | | | | | | | | | | | | | | | | | | | In order to not overwrite sysctl/tunables under compat.linuxkpi we need to prefix the module_param* names with a per-driver/file designator to make them (more) uniq. Add the FreeBSD specific LINUXKPI_PARAM_PREFIX defines for that where missing in mt76. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | mt76: util.h: extend worker nameBjoern A. Zeeb2025-12-031-31/+8
| | | | | | | | | | | | | | | | | | | | In mt76_worker_setup() add the "name" argument to the description for the worker thread. That way we have a chance to keep them apart. While here, rename a variable and shorten the the (c)/SPDX section according to new style. MFC after: 3 days
* | mt76: ieee80211_is_first_frag() operates on the seq_ctrl field not on fc.Bjoern A. Zeeb2025-12-031-1/+1
| | | | | | | | | | | | | | | | | | Pass the correct field to ieee80211_is_first_frag(); otherwise the results may vary. Sponsored by: The FreeBSD Foundation MFC after: 3 days X-To-Upstream: yes
* | iwlwifi/mld: only get tid after checking that it is a dataqos frameBjoern A. Zeeb2025-11-191-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Like we did for mvm, only get the tid after all the other checks are done by the function in order to not trigger an assert. Linux will likely return a random value there which later is not used as the driver does an early return. In LinuxKPI we do check that the frame assumptions hold up, which does not go so well for a random frame. Sponsored by: The FreeBSD Foundation MFC after: 3 days PR: 290808
* | mt76: update Mediatek's mt76 driverBjoern A. Zeeb2025-10-2380-1859/+3977
| | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ). MFC after: 3 days
* | rtw89: update Realtek's rtw89 driverBjoern A. Zeeb2025-10-2362-5120/+14308
| | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ). MFC after: 3 days
* | rtw88: update Realtek's rtw88 driverBjoern A. Zeeb2025-10-2353-330/+27176
| | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ). MFC after: 3 days
* | iwlwifi: update Intel's mvm/mld driversBjoern A. Zeeb2025-10-23206-8245/+39814
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ). Some of the changes we reported upstream got incorporated in this (or the v6.16) release. This also includes a change from iwlwifi-next.git::next for missing symbols iwl_mvm_v3_rate_from_fw() and iwl_mvm_v3_rate_to_fw() were originally comitted to mvm/rs.[ch] which we do not have. That left us with unresolved symbols. For the never comitted v6.16 driver update I had started to piece these together but they have been migrated out to utils.c so take them from there until the next release hopefully ships this change. Obtained from: git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git branch next, 1b49af228594452206d5c50a33b6a341428edb63 MFC after: 3 days
* | qat: enable qat driver for 402xx deviceHareshx Sankar Raj2025-09-152-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabled qat driver support for 402xx device with ID 0x4944/0x4945. This is an additional device supported under the existing qat_4xxx driver. Firmwares specific to the 402xx device are added. Signed-off-by: Hareshx Sankar Raj <hareshx.sankar.raj@intel.com> Relnotes: yes Sponsored by: Intel Corporation MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D52488
* | rtw89: Remove an unneeded __DECONSTJohn Baldwin2025-09-041-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally in e2340276fc73 the function argument was a "const void *data" which we changed to "const int" in FreeBSD. The Linux version simply cast the const void * to (enum rtw89_rf_path) both losing the const and changing the type. When later the function argument became a const union rtw89_fw_element_arg in 5b760eaecd6c3 it seems we tried to undo the older FreeBSD specific part and initially mismerged it leading to the const void *; but when fixing the type we did not undo the __DECONST but did a mechanical copy. Reviewed by: bz Co-authored-by: bz (commit message) Obtained from: CheriBSD Sponsored by: AFRL, DARPA Fixes: 6d67aabd6355 ("rtw89: update Realtek's rtw89 driver.") Differential Revision: https://reviews.freebsd.org/D52359
* | rtw88: ensure channel definitions have band setBjoern A. Zeeb2025-08-291-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A Linux definition of a channel has freq, hw_value, band, and flags. rtw88 so far only set the first two but never set the band on the channel. This sorted out channels from scanning (at least after updates) but possibly also led to other unnoticed circumstances. Use the macros from rtw89 and replicate the information properly filling band on each channel definition as well. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | acpica: Fix build of acpidb(8) on i386John Baldwin2025-08-261-1/+1
| | | | | | | | Fixes: b5daf675efc7 ("acpica: Merge ACPICA 20250807")
* | acpica: Merge ACPICA 20250807Jung-uk Kim2025-08-2128-85/+280
|\| | | | | | | Merge commit '5bb60d44e94172a567412968545c82065695d871'
* | acpi_powerres: D3cold supportAymeric Wibo2025-08-081-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cherry-pick commit 0b76c0a from ACPICA (actypes: Distinguish between D3hot/cold, and default `ACPI_STATE_D3` to D3cold). The same distinction is made between `PCI_POWERSTATE_D3_HOT` and `PCI_POWERSTATE_D3_COLD`, as they're defined by ACPI (and are asserted to be the same). D3cold is essentially the same as D3hot except the power resources are turned off. Add support for D3cold to `acpi_pwr_switch_consumer`. `acpi_d_state_to_str` replaces the `printf("D%d", d_state)` pattern, allowing for "D3hot" and "D3cold" strings to be printed instead of just "D3". Reviewed by: markj, ziaee, mckusick (mentor) Approved by: markj, mckusick (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48384
* | iwlwifi: compile in ACPI supportBjoern A. Zeeb2025-07-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Now that LinuxKPI supports the lower case Linux ACPI spellings under LINUXKPI_WANT_LINUX_ACPI we only need to provide the debug macro to allow us to compile in ACPI support. This ties into regulatory and will be used, e.g., for 11ax, 11be, and Per Platform Antenna Gain (PPAG) settings. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | rtw89: enable ACPI support on FreeBSDBjoern A. Zeeb2025-07-041-26/+0
| | | | | | | | | | | | | | | | | | Now that LinuxKPI supports the lower case Linux ACPI spellings under LINUXKPI_WANT_LINUX_ACPI remove the #ifdef around the code and compile in ACPI support. Sponsored by: The FreeBSD Foundation MFC after; 3 days
* | machine/stdarg.h -> sys/stdarg.hBrooks Davis2025-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Switch to using sys/stdarg.h for va_list type and va_* builtins. Make an attempt to insert the include in a sensible place. Where style(9) was followed this is easy, where it was ignored, aim for the first block of sys/*.h headers and don't get too fussy or try to fix other style bugs. Reviewed by: imp Exp-run by: antoine (PR 286274) Pull Request: https://github.com/freebsd/freebsd-src/pull/1595
* | iwlwifi: add message how to install firmware on FreeBSDBjoern A. Zeeb2025-06-111-0/+3
| | | | | | | | | | | | | | | | | | | | While it is too late for 14.3-R point people at fwget(8) to install firmware if the driver cannot find any. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste, ziaee Differential Revision: https://reviews.freebsd.org/D50777
* | rtw89: prevent a NULL pointer deref in rtw89_swap_chanctx()Bjoern A. Zeeb2025-06-081-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is currently unclear if this is a result of the driver itself already or the way LinuxKPI drives channels and the driver simply accepting and acting on things it no longer should. For now put the bandaid into place to make the driver work and pass packets. For better resilience the check does not hurt anyway. The moment we enter rtw89_chanctx_ops_add() the first time, entity_map 0x00000001 has the lowest bit set and find_next_zero_bit() will return 1. As a result the driver will try to swap chanctxs and trip over a NULL pointer in rtw89_swap_chanctx(). See comment there for how to (likely) trigger it. Sponsored by: The FreeBSD Foundation Reported by: Axel Rau (Axel.Rau Chaos1.DE) with 8852CE MFC after: 3 days
* | qat: add disable safe dc mode for QAT SPR devicesHareshx Sankar Raj2025-06-061-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Build and sysctl configuration modes are introduced for QAT SPR devices to disable safe dc mode. A new QAT driver build option ‘QAT_DISABLE_SAFE_DC_MODE’ is required to build the QAT driver with code that allows a request to be sent to FW to override the ‘History Buffer’ mitigation. Default QAT driver builds do not include this ‘QAT_DISABLE_SAFE_DC_MODE’ build option. Even if the QAT driver was built with code that allows a request to be sent to FW to override the ‘History Buffer’ mitigation, the QAT driver must still be configured using sysctl to request an override of the ‘History Buffer’ mitigation if desired. The default QAT driver configuration option sysctl dev.qat.X.disable_safe_dc_mode does not allow override of the mitigation. The new sysctl attribute disable_safe_dc_mode is to be set to 1 for overriding the history buffer mitigation. Firmware for qat_4xxx is updated for this change. If this mode is enabled, decompression throughput increases but may result in a data leak if num_user_processes is more than 1. This option is to be enabled only if your system is not prone to user data leaks. Reviewed by: markj, ziaee MFC after: 2 weeks Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D50379
* | iwlwifi: update script to extract firmware/chipset generations/flavors/..Bjoern A. Zeeb2025-05-131-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | Adjust the logic for using the sysctl vs. providing an input file (previously generated from the sysctl). Adjust template generation for iwlwififw.4 to also list the flavour for each chipset (if known) to help people manually building packages to figure out which port flavor they need. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | fwget / mt76: update script to extra firmware and update fget(8)Bjoern A. Zeeb2025-05-051-6/+8
| | | | | | | | | | | | | | | | | | | | Update the script to support all the sub-drivers we compile now. Some minor polishing as well. Update fwget(8) as more IDs were added. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | mt76: update Mediatek's mt76 driverBjoern A. Zeeb2025-05-04133-3192/+20276
| | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 38fec10eb60d687e30c8c6b5420d86e8149f7557 ( tag: v6.14 ). Sponsored by: The FreeBSD Foundation
* | rtw88: merge Realtek's rtw88 driver based on Linux v6.14Bjoern A. Zeeb2025-04-2749-752/+11584
| | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 38fec10eb60d687e30c8c6b5420d86e8149f7557 ( tag: v6.14 ). Sponsored by: The FreeBSD Foundation
* | rtw89: merge Realtek's rtw89 driver based on Linux v6.14Bjoern A. Zeeb2025-04-2767-3502/+11533
| | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 38fec10eb60d687e30c8c6b5420d86e8149f7557 ( tag: v6.14 ). Sponsored by: The FreeBSD Foundation
* | LinuxKPI: 802.11: updates to headers for driver updateBjoern A. Zeeb2025-04-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Move some structs into the appropriate header to be visible. Add new fields to structs and enums. Remove arguments from two functions (one function currently unused by drivers in the tree, for the other the argument was unused). Adjust the iwlwifi accordingly. This is in preparation for new driver versions to allow a smooth transition. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | iwlwifi: fix iwl_uefi_get_uats_table() if not compiled with ACPIBjoern A. Zeeb2025-04-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Apply a temporary fix to FreeBSD only to allow AX101 to proceed further. While this fix results in a debug error message if firmware debugging is on we currently take this for the version we have. A proper fix will eventually show up in future versions of iwlwifi. Sponsored by: The FreeBSD Foundation Reported by: bapt Tested by: bapt MFC after: 3 days
* | Import ACPICA 20250404Jung-uk Kim2025-04-11359-458/+2658
| | | | | | | | (cherry picked from commit 97a7606d897edfa3089cb04eea70096a1f9cf734)
* | iwlwififw: remove Intel iwlwifi firmware from src.gitBjoern A. Zeeb2025-04-1028-522/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the example of rtw88 and rtw89 only ship iwlwifi firmware from ports/packages. Users are asked to run fwget(8) to install the firmware needed for their system or build it from ports (see also UPDATING). This is the end of a long story adding wireless support to fwget(8), migrating the firmware for multiple branches into ports, splitting them up into flavors, and updating some install media and the installer to provide firmware. The overall amount for new firmware amongst all drivers would have added more than 100M of binary blobs to src.git for the first import, ignoring future updates which (along with some duplication between multiple drivers) was considered too much. While maintenance within the src tree certainly would have been easier in the longer term this seems to be the better solution and I would like to thank everyone who helped along the path to get there. The iwlwififw.4 man page is to stay (for now) and will likely point at the appropriate firmware package flavor in the future as well so people may find it easier to transition. In the long term this information is likely not needed anymore. Sponsored by: The FreeBSD Foundation Requested by: core (Oct 2022) Reviewed by: thj, jrm (earlier) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D49713
* | rtw89: make wow.c compileBjoern A. Zeeb2025-03-181-0/+35
| | | | | | | | | | | | | | | | | | | | So far we have not compiled wow.c given we do not enable CONFIG_PM yet. Make the necessary file local adjustments to make the file compile once further changes in LinuxKPI 802.11 code are comitted. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | iwlwifi: make mvm/d3.c compile againBjoern A. Zeeb2025-03-181-0/+9
| | | | | | | | | | | | | | | | Given we currently do not ompile the file by default make it compile again after the last vendor import. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | iwlwifi: adjust a debug comment referring to a PRBjoern A. Zeeb2025-03-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | A FreeBSD specific comment asked people to report to a PR if they see this. By now we got enough feedback and also left this in a release. Simply point to the PR so people can check the status but not longer ask to submit a report to the PR. Sponsored by: The FreeBSD Foundation PR: 274382 MFC after: 3 days
* | iwlwifi: bring in some of the rs codeBjoern A. Zeeb2025-02-262-14/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring in code to call into rs-fw.c functionality for firmware supported rate select. Anything before AX200 (firmware matching iwlwiif-[0-9]*.ucode) will still need further implementation, and so does iwl_mvm_rs_tx_status(). These bits marked with compat.linuxkpi.80211.debug TODO()s for now. Implement some lindebugfs bits to gather more statistical information. Sponsored by: The FreeBSD Foundation Obtained from: bz_wifi_11n branch (partially) MFC after: 3 days
* | rtw88/rtw89: add module_param to enable/disable HT/VHT and EHTBjoern A. Zeeb2025-01-312-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | In order to better test HT and VHT support with LinuxKPI add (tunable) options disabled by default to on-demand enable HT/VHT and for rtw89 also EHT. It is expected that we will remove this FreeBSD-specific code again in the future. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | rtw88/rtw89: avoid duplicate top-level directory with debugfsBjoern A. Zeeb2025-01-312-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If people like me having multiple cards in the same system creating the debugfs dirctory leads to a panic upon attaching the 2nd card due to the duplicate name. Rather than using the hard coded driver name, use the device name (e.g., rtw880, rtw881, rtw882). This solves two issues: it avoids the duplicate name and we get individual debugging/statistic information for each card. Sponsored by: The FreeBSD Foundation MFC after: 3 days X-Note: ath1[01]k and mt76 likely will need a similar change
* | LinuxKPI: 802.11: turn on debugfs for iwlwifi and rtw88Bjoern A. Zeeb2025-01-071-0/+2
| | | | | | | | | | | | | | | | | | Make iwlwifi compile with debugfs after the last updates and turn it on for both iwlwifi and rtw88 in order to be able to get at least some useful information on driver/firwmare state. Sponsored by: The FreeBSD Foundation MFC after: 10 days
* | acpica: Import ACPICA 20241212Jung-uk Kim2025-01-039-44/+65
|\|
* | acpica: Merge ACPICA 20240927Jung-uk Kim2025-01-033-2/+15
|\|
* | acpica: Import ACPICA 20240827Jung-uk Kim2025-01-0355-256/+1548
|\|
* | acpica: Import ACPICA 20240321Jung-uk Kim2025-01-03358-2049/+1152
|\|
* | ath_hal_ar9300: implement the TX/RX chainmask override for AR9300 HALAdrian Chadd2024-12-312-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the missing capability set handlers for setting the transmit and receive chainmasks. I did this for the AR5416 and later chips years ago, but not for these. This is especially useful when you're only hooking up one or two antennas on a 3 antenna device - or you just want to test it like that. It also requires updating the number of supported transmit/receive streams, so also add them here. Locally Tested: * AR9300, STA mode, 1, 2 and 3 stream TX/RX configuration Differential Revision: https://reviews.freebsd.org/D48240
* | ath_hal_ar9300: quick refactor of tx/rx chain handlingAdrian Chadd2024-12-311-4/+3
| | | | | | | | | | | | | | Use a temporary variable, make the lines shorter. Differential Revision: https://reviews.freebsd.org/D48239 Reviewed by: emaste
* | iwlwifi: add missing blank, unwrap lineBjoern A. Zeeb2024-12-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original commit was missing a space between two words due to uncareful string line wrapping; let the string run beyond the 80 char limit in order to also make it grep-able [1]. Reported by: jrtc27, Chris Torek (chris.torek gmail.com) Suggested by: emaste, imp [1] Sponsored by: The FreeBSD Foundation Fixes: 87e140a5c6f89 avoid (hard) hang on loading module MFC after: 3 days X-MFC with: 87e140a5c6f89eea7ea6320d1ae34566492abfc0 Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D48155
* | iwm: Stop shipping firmware as kernel moduleEmmanuel Vadot2024-12-1624-528209/+0
| | | | | | | | | | | | | | | | | | Since we can load raw firmware start shipping them as is. This also remove the uuencode format that don't add any value and garbage collect old firmwares version. For pkgbase users they are now in the FreeBSD-firmware-iwm package. Sponsored by: Beckhoff Automation GmbH & Co. KG