aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/dev/athk
Commit message (Collapse)AuthorAgeFilesLines
* ath10k: update Atheros/QCA's ath10k driverBjoern A. Zeeb2026-02-101-8/+8
| | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 05f7e89ab9731565d8a62e3b5d1ec206485eeb0b ( tag: v6.19 ). Sponsored by: The FreeBSD Foundation MFC after: 3 days
* ath10k: usb: make compile using [a future] linuxkpi_usbBjoern A. Zeeb2026-02-091-0/+22
| | | | | | | | | | | | | | | | | | | | | | | Make ath10k usb code compile just to gather more USB bits. Currently (and likely forever) it is useless as the ath10k USB implementation never got finished. At the moment it lacks an entry for the USB bus attachment in core.c ath10k_hw_params_list[]. ath10k_usb0 on uhub1 ath10k_usb0: <Qualcomm Atheros USBWLAN, rev 2.01/92.10, addr 6> on usbus0 ath10k_usb0: Warning: ath10k USB support is incomplete, don't expect anything to work! ath10k_usb0: Unsupported hardware version: 0x5020001 ath10k_usb0: could not get hw params (-22) ath10k_usb0: could not probe fw (-22) There is another possible hardware [1] which was also never merged upstream. [1] https://lists.infradead.org/pipermail/ath10k/2024-August/016037.html "[PATCH] wifi: ath10k: add USB device ID for Atheros QCA9377-7" MFC after: 3 days
* ath10k: harmonize all MODULE_DEPEND to ath10kBjoern A. Zeeb2026-02-094-9/+15
| | | | | | | | | With theoretically multiple bus attachements (unclear if we will ever support anything but PCI) rename the module name to "ath10k" and use it consistently. Move the common depends to core.c and lindebugfs and usb to their respective files. MFC after: 3 days
* ath10k: cleanup some bits no longer FreeBSD-specificBjoern A. Zeeb2026-02-093-41/+4
| | | | | | | | We have since I did this port in 2023 added ACPI support to LinuxKPI, so we can use it. Also there is a linux/of.h header so we no longer need to guard the #include. MFC after: 3 days
* ath10k: add sysctl to turn on/off fwlogBjoern A. Zeeb2026-02-091-0/+17
| | | | | | | | FWLOG, if compiled in, was on by default without a way to stop it from printing everything to the console. Add a modparam to enable it with it being disabled by default if available. MFC after: 3 days
* ath10k: fix a schedule() callBjoern A. Zeeb2026-02-092-2/+10
| | | | | | | | | | | Using kern_yield does not seem ideal either for polling here; use a schedule_timeout() call from LinuxKPI instead and use about 100 iterations per second. Improve an error message to include the error code so we have a better idea of what happens. MFC after: 3 days
* ath10k: update Atheros/QCA's ath10k driverBjoern A. Zeeb2026-01-217-51/+274
| | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7 ( tag: v6.19-rc6 ). Sponsored by: The FreeBSD Foundation
* 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'
* LinuxKPI based WiFi drivers: scripts to extract fwget(8) and port detailsBjoern A. Zeeb2024-10-173-0/+913
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a "zzz_fw_ports_fwget.sh" script to each LinuxKPI based wireless driver which in essential are all the same and in detail all different. The scripts have been referenced in fwget(8) sources since d33f5a0afa54b but were never committed. The scripts do the full job compared to `single-line-scripts` I tried to use before to ease maintainance life. Some use hacks like calling cpp and extracting bits from the output to piece them together over multiple files. It will be left as an exercise for the future to see if what was done (a longer while ago) for iwlwifi(4) would be a good idea for some other drivers too, to have a FreeBSD-specific sysctl to export some of the accumulated data in an easily processable way. The scripts are written in the "perl spirit" -- "to get the job done" -- and not to be nice or neat or efficient. For that we do not need them often enough or in any critical path. People are welcome to improve them if they feel like. I've used them for two version updates now and even if ports enforce some other (manual) editing to keep support for multiple branches for now they worked extremly well. For the most the scripts extract 2 parts: PCI IDs and firmware name; then they add "flavor"s to both and put the information together. That output is then separated into: - fwget(8) lines of PCI ID to port/package wifi-firmware-${name}-kmod-${flavor} mappings and - distfiles per flavor for the ports. - For iwlwififw(4) we also generate the tables for the man page (and the wiki) and hopefully the .Sh HARDWARE section for iwlwifi.4 soon too. Depending on driver various other checks are done, e.g., - does the PCI ID have one or more firmware files/flavors associated, - does the referenced firmware exist in the linux-firmware.git repo, - are there duplicates, - find the latest version of the firmware API. Sponsored by: The FreeBSD Foundation Suggested by: imp (to have automation in D44918) MFC after: 3 days
* ath10k/rtw89: make compile again after LinuxKPI changesBjoern A. Zeeb2024-01-081-0/+1
| | | | | | | | | | | | | | | Both drivers are not yet attached to the build so this change is for people currently trying them out. In 96ab16ebab6319dce9b3041961b0ab6e20a4fecc the sys/rman.h include was removed. In various wireless drivers we prefer to directly use bus_dma functions rather than io* LinuxKPI once. In order to cast the pointer we need sys/rman.h back for our native 'struct resource' in their pci.c implementations. Long-term we should consider providing some lkpi_-FreeBSD-specific wrapper functions to avoid this problem. MFC after: 3 days
* ath12k: import driver from upstreamBjoern A. Zeeb2023-08-2147-0/+54778
| | | | | | | | | | | | | | | | | | | | | | | | | | | Import BSD-3-Clause-Clear ath12k driver based on wireless-testing (wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1) with further updates based on (wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5), (wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3), (wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4), (wt-2023-08-13) 81e147b1317ee7cde8b624ee8c0501b470d7e91c (after v6.5-rc5). Complement the driver to make compile on FreeBSD using LinuxKPI with changes covered by #ifdef (__FreeBSD__). Add the module build framework but keep disconnected from the build for now. The current driver (or rather LinuxKPI) lacks support for some "qcom" bits needed in order to get things working (as does ath11k). There was interest by various people to enhance support further for ath11k which will equally benefit ath12k. Given the lack of full license texts on the files this is imported under the draft policy for handling SPDX files (D29226) and with approval for BSD-3-Clause-Clear. [1] Approved by: core (jhb, 2023-05-11) [1] MFC after: 20 days
* ath11k: update driver from upstreamBjoern A. Zeeb2023-08-2158-3113/+13484
| | | | | | | | | | This is a set of updates of the ath11k driver based on wireless-testing (wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1), (wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5), (wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3), (wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4). MFC after: 20 days
* ath10k: update driver from upstreamBjoern A. Zeeb2023-08-2136-498/+609
| | | | | | | | | | This is a set of updates of the ath10k driver based on wireless-testing (wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (after v6.4-rc1), (wt-2023-06-09) 7bd20e011626ccc3ad53e57873452b1716fcfaaa (after v6.4-rc5), (wt-2023-07-24) 62e409149b62a285e89018e49b2e115757fb9022 (after v6.5-rc3), (wt-2023-08-06) 2a220a15be657a24868368892e3e2caba2115283 (after v6.5-rc4). MFC after: 20 days
* ath1xk_common: update common athk files from upstreamBjoern A. Zeeb2023-08-216-19/+21
| | | | | | | Update ath1xk_common based on wireless-testing (wt-2023-05-11) 711dca0ca3d77414f8f346e564e9c8640147f40d (right after v6.4-rc1). MFC after: 20 days
* ath10k: specifically mark a debug workaround for an early firmware crashBjoern A. Zeeb2023-08-211-0/+9
| | | | | | | | During the last import a (debug) workaround to avoid an early firmware crash was imported. In order to remember and to separate it from upstream sources put it under #ifdef MFC after: 20 days
* ath11k: import ath11k driverBjoern A. Zeeb2023-05-1262-0/+68403
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import BSD-3-Clause-Clear ath11k driver assumed to be based on Linux kvalo/ath.git master at 6bae9de622d3ef4805aba40e763eb4b0975c4f6d. Complement the driver to make compile on FreeBSD using LinuxKPI with changes covered by #ifdef (__FreeBSD__). Further select updates were applied since the initial import in order to keep compiling along with other LinuxKPI based drivers. Add the module build framework but keep disconnected from the build for now. The current driver (or rather LinuxKPI) lacks support for some "qcom" bits needed in order to get things working. There was interest by various people to enhance support further. We initially only plan to support PCI parts but it would be great to further enhance qcom SoC support to run on several (cheap) APs. The firmware is provided by port net/wifi-firmware-ath11k-kmod. Given the lack of full license texts on most files this is imported under the draft policy for handling SPDX files (D29226) and with approval for BSD-3-Clause-Clear. [1] Approved by: core (jhb, 2023-05-11) [1] MFC after: 2 months
* ath10k: import ath10k driverBjoern A. Zeeb2023-04-2364-0/+87477
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import ISC-licensed ath10k driver assumed to be based on Linux kvalo/ath.git master at 6bae9de622d3ef4805aba40e763eb4b0975c4f6d. Import support to redirect fwlogs to kernel messages from https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/389075 Complement the driver to make compile on FreeBSD using LinuxKPI with changes covered by #ifdef (__FreeBSD__). Further select updates were applied since the initial import in order to keep compiling along with other LinuxKPI based drivers. Any other native driver using BUS_PROBE_DEFAULT will attach ignoring this one by default given bsd_probe_return is set to a lower priority. Add the module build framework. We only support PCI parts. The firmware is provided by port net/wifi-firmware-ath10k-kmod. Given the lack of full license texts on most files this is imported under the draft policy for handling SPDX files (D29226). [1] Approved by: core (emaste, 2022-04-08) [1] MFC after: 2 months
* athk: import common code for ath1?k driversBjoern A. Zeeb2023-04-2316-0/+4182
Import common ISC-licensed athk parts assumed to be based on Linux kvalo/ath.git master at 6bae9de622d3ef4805aba40e763eb4b0975c4f6d. The only modification should be for FreeBSD module handling in main.c. Add the module build framework unconnected to the build for now. These files will be shared by ath1?k drivers. MFC after: 2 months