|
Revision tags: release/14.4.0-p5, release/14.3.0-p14, release/15.0.0-p9, release/14.4.0-p4, release/14.3.0-p13, release/13.5.0-p14, release/15.0.0-p8, release/14.4.0-p3, release/14.3.0-p12, release/13.5.0-p13, release/15.0.0-p7, release/13.5.0-p12, release/14.3.0-p11, release/14.4.0-p2, release/15.0.0-p6, release/13.5.0-p11, release/14.3.0-p10, release/14.4.0-p1, release/15.0.0-p5, release/14.4.0, release/13.5.0-p10, release/14.3.0-p9, release/15.0.0-p4, release/15.0.0-p3, release/13.5.0-p9, release/15.0.0-p2, release/14.3.0-p8, release/15.0.0-p1, release/13.5.0-p8, release/14.3.0-p7, release/15.0.0, release/14.3.0-p6, release/13.5.0-p7, release/13.5.0-p6, release/14.3.0-p5, release/13.5.0-p5, release/14.2.0-p7, release/14.3.0-p4, release/14.3.0-p3, release/14.2.0-p6, release/13.5.0-p4, release/13.5.0-p3, release/14.2.0-p5, release/14.3.0-p2, release/14.3.0-p1, release/14.2.0-p4, release/13.5.0-p2, release/14.3.0, release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3 |
|
| #
11d69a45 |
| 09-Apr-2025 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: add support for suspend/resume
Add support for automatic suspend/resume as we know it for wireless. The problem is that the PCI driver which would normally gets the code is the Lin
LinuxKPI: 802.11: add support for suspend/resume
Add support for automatic suspend/resume as we know it for wireless. The problem is that the PCI driver which would normally gets the code is the LinuxKPI PCI framework/Linux wireless driver, which we cannot ammend or generally add extra suspend/resume code to. A further problem is that with growing support, the LinuxKPI 802.11 (mac80211) layer also is involved in suspend/resume for WoWLAN (not yet supported) meaning that we need to hook the suspend/resume framework into that as well. Unlike Linux we do not have a general suspend/resume "hook" we can hang into and we need to tie this one to the hardware so cannot indepedently (after the driver one) run it.
The solution for FreeBSD, in order to not mangle the Linux native drivers and get extra maintanace overhead, is to add a bus child which inherits the general framework and thus is 2 lines + #includes for each driver extra to add to.
The general suspend/resume framework lives in LinuxKPI (linuxkpi_80211_pm) and imitates the normal suspend/resume path overloading it (there is a slight code/logic duplication from the PCI code). Given we are passed the LinuxKPI p(ci)dev, we can go and peel out the net80211 ic from the native bsddev and that way get access to the wireless stack. We then call into LinuxKPI 802.11 in order to do the suspend/resume dance there, and, if needed also call the official suspend/resume routine from the device driver after (reverse for resume). If any in this fails, suspend will be blocked as we will return the error (no different to any native driver could do).
The LinuxKPI 802.11 suspend/resume code has the initial code for doing a WoWLAN suspend (one could change the sysctl) but other bits like access to ifnet flags etc. has to be sorted out before we can go and support that. The default code path calles into net80211 to clear everything like native wireless drivers do. The one thing we need to do in addition is to remove the vif devices from the firmware and restore them prior to net80211 resume. We also check for a possible HW SCAN to still be runinng on resume and warn as that may cause problems though the scan should be stopped before suspend (we may still get a callback). You can easily see these problems if you suspend/resume without stopping the wlan.
Enable the PM framework for iwlwifi in the module Makefile to be able to use all this; others can follow as tested.
In case anyone has problems with this, they can change the sysctl back to 0 until we can figure out any further problems. The linuxkpi_wlan.4 man page got adjusted to document this.
Sponsored by: The FreeBSD Foundation Tested on: Dell XPS 13 (AX200), Lenovo TP X270 (AX210) MFC after: 3 days PR: 263632
show more ...
|
| #
90383181 |
| 18-Apr-2026 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: update module Makefile for v7.0 driver version
Update LINUXKPI_VERSION to reflect that the driver is based on Linux v7.0.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
|
| #
e8166d7f |
| 20-Mar-2026 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI wlan drivers: update makefiles to not use WITH_
Up to now the LinuxKPI wlan drivers were using local variables starting with a WITH_ prefix in their Makefiles. That is likely to collide wit
LinuxKPI wlan drivers: update makefiles to not use WITH_
Up to now the LinuxKPI wlan drivers were using local variables starting with a WITH_ prefix in their Makefiles. That is likely to collide with other mechanisms like WITH_ and WITHOUT_ from src.conf. Adjust the local variables to use a driver name prefix for now to control what is built and what is not. These variables are mainly for the time of development so we can turn off/on a feature or bus attachment while working on it. Otherwise they are there for documentation purposes. The only reason one would change them locally would be if someone was to build a very custom image and not want certain bits (e.g., USB support) being compiled into the modules.
While here, try to harmonize some parts of the Makefiles.
Suggested by: imp Discussed with: imp Reviewed by: imp Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D55977
show more ...
|
| #
9e175561 |
| 26-Jan-2026 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: Add bus attachments to the module Makefile
In addition to PCIe we will support USB and also prepare for SDIO (still disabled locally). The module SRCS are split up into a common part, which
rtw88: Add bus attachments to the module Makefile
In addition to PCIe we will support USB and also prepare for SDIO (still disabled locally). The module SRCS are split up into a common part, which we always add. All three bus parts are guarded by a local variable in the Makefile. In addition the PCI parts require PCI to be compiled into the kernel. We add that check in case of, e.g., SoCs with SDIO but no PCI, which may not have PCI in the kernel config and thus the module would fail to attach. USB has no additional check as it is fully loadable and does not have to be in a kernel config. SDIO depends on an MMCCAM-enabled kernel but is otherwise loadable.
While we could, we are not splitting the various bus attachments into individual modules as we generally do not do that in FreeBSD. [1]
Sponsored by: The FreeBSD Foundation MFC after: 3 days Discussed with: imp and jhb (2022, 2024), see also 17732dd8f01b [1] OKed by: imp (KERN_OPTS checks initially suggested by jhb) Differential Revision: https://reviews.freebsd.org/D55022
show more ...
|
| #
80ba8933 |
| 20-Jan-2026 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: update Realtek's rtw88 driver
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7 ( tag: v6.19-rc6 ).
Sponsored by: T
rtw88: update Realtek's rtw88 driver
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
show more ...
|
| #
eb15fdb1 |
| 17-Oct-2025 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: update Realtek's rtw88 driver
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e5f0a698b34ed76002dc5cff3804a61c80233a7a ( tag: v6.17 ).
MFC after: 3 days
|
| #
aecd63f4 |
| 21-Aug-2025 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88 / rtw89: define LINUXKPI_VERSION
Always define the LINUXKPI_VERSION for LinuxKPI based wireless drivers. This ensures that LinuxKPI can move indepdent of drivers.
Sponsored by: The FreeBSD F
rtw88 / rtw89: define LINUXKPI_VERSION
Always define the LINUXKPI_VERSION for LinuxKPI based wireless drivers. This ensures that LinuxKPI can move indepdent of drivers.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
| #
a0ccc12f |
| 24-Apr-2025 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: merge Realtek's rtw88 driver based on Linux v6.14
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 38fec10eb60d687e30c8c6b5420d86e8149f7557 ( tag: v6.14 ).
rtw88: merge Realtek's rtw88 driver based on Linux v6.14
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
show more ...
|
|
Revision tags: release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3 |
|
| #
07f65755 |
| 28-Dec-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 802.11: turn on debugfs for iwlwifi and rtw88
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 us
LinuxKPI: 802.11: turn on debugfs for iwlwifi and rtw88
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
show more ...
|
|
Revision tags: release/14.2.0 |
|
| #
11c53278 |
| 25-Sep-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: update Realtek's rtw88 driver.
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98f7e32f20d28ec452afb208f9cffc08448a2652 ( tag: v6.11 ).
Sponsored by: Th
rtw88: update Realtek's rtw88 driver.
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98f7e32f20d28ec452afb208f9cffc08448a2652 ( tag: v6.11 ).
Sponsored by: The FreeBSD Foundation MFC after: 14 days
show more ...
|
| #
157e93e0 |
| 26-Sep-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: pci: rename PCI_IRQ_LEGACY to PCI_IRQ_INTX
PCI_IRQ_LEGACY was added in 366d68f28379 (likely) for rtw88 only. The define now got renamed and I cannot find any other use but rtw88 and rtw89.
LinuxKPI: pci: rename PCI_IRQ_LEGACY to PCI_IRQ_INTX
PCI_IRQ_LEGACY was added in 366d68f28379 (likely) for rtw88 only. The define now got renamed and I cannot find any other use but rtw88 and rtw89. We keep the old name as comapt while driver updates are in progress enabling it defining LINUXKPI_VERSION for the two drivers.
Sponsored by; The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46822
show more ...
|
|
Revision tags: release/13.4.0 |
|
| #
e9ac4169 |
| 15-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
Remove residual blank line at start of Makefile
This is a residual of the $FreeBSD$ removal.
MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
|
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
031beb4e |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
f621b087 |
| 18-Apr-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
iwlwifi: rtw88: rtw89: fix gcc warnings
Fix -Wno-format and unused variables warnings with gcc by adopting (to|the) FreeBSD-specific code.
Reported by: jhb Sponsored by: The FreeBSD Foundation MFC
iwlwifi: rtw88: rtw89: fix gcc warnings
Fix -Wno-format and unused variables warnings with gcc by adopting (to|the) FreeBSD-specific code.
Reported by: jhb Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D39673
show more ...
|
| #
3a9e6624 |
| 10-Apr-2023 |
John Baldwin <jhb@FreeBSD.org> |
rtw88: Silence unused but set warnings from GCC for debug.c.
Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D39353
|
|
Revision tags: release/13.2.0, release/12.4.0 |
|
| #
4495b4eb |
| 28-Nov-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: correct SRCS+= in Makefile
Properly spell a SRCS+= for an optional file (this is why it stayed unnoticed so far).
MFC after: 3 days
|
| #
514fb387 |
| 23-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: define LINUXKPI_INCLUDES for module builds as well
While for in-kernel we already have LINUXKPI_INCLUDES in kern.pre.mk for kmod builds we've not had a common define to use leading to vari
LinuxKPI: define LINUXKPI_INCLUDES for module builds as well
While for in-kernel we already have LINUXKPI_INCLUDES in kern.pre.mk for kmod builds we've not had a common define to use leading to various spellings of include paths.
In order for the include list to be expanded more easily in the future, e.g., adding the "dummy" includes (for all) and to harmonize code, duplicate LINUXKPI_INCLUDES to kmod.mk and use it for all module Makefiles.
MFC after: 1 week Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D36683
show more ...
|
| #
17732dd8 |
| 01-Jul-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Revert "rtw88: split driver up into a core and pci part"
After some discussion, for now, simply revert the change to split the driver up into if_rtw88_core.ko and if_rtw88_pci.ko as we do not have a
Revert "rtw88: split driver up into a core and pci part"
After some discussion, for now, simply revert the change to split the driver up into if_rtw88_core.ko and if_rtw88_pci.ko as we do not have an if_rtw88.ko anymore. We do have code trying to auto-load modules, e.g. ifconfig, based on if_xxx.ko.
We could, based on Makefile magic or further code, generate a if_rtw88.ko module with proper dependencies and keep this but for simplicity stay with the one slightly larger module for now. Should code appear to do this "properly" we can revisit this once USB support has landed.
Slightly update the module Makefile to keep the separation of files between core and pci bits visible and maintainable for the future.
This reverts commit 0f7b9777f8f39fbc230b3e1de2f844d9f839adea.
show more ...
|
| #
0f7b9777 |
| 12-Jun-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: split driver up into a core and pci part
Split the driver up into two modules (if_rtw88_pci.ko and rtw88_core.ko). This is in preparation for the hopefully eventually upcoming USB support usi
rtw88: split driver up into a core and pci part
Split the driver up into two modules (if_rtw88_pci.ko and rtw88_core.ko). This is in preparation for the hopefully eventually upcoming USB support using the same driver core.
Note: this changes the module name to load to if_rtw88_pci.ko instead of if_rtw88.ko. If using devmatch(8) everything should stay the same as the driver name (used for net.wlan.devices) stays rtw88. If using kld_list in rc.conf or loader.conf you will need to adjust the name. Update man page for this.
MFC after: 3 days
show more ...
|
|
Revision tags: release/13.1.0 |
|
| #
2774f206 |
| 30-Mar-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
rtw88: import Realtek's rtw88 driver
Import rtw88 based on wireless-testing at 5d5d68bcff1f7ff27ba0b938a4df5849849b47e3 with adjustments for FreeBSD.
While our version of the driver has knowledge a
rtw88: import Realtek's rtw88 driver
Import rtw88 based on wireless-testing at 5d5d68bcff1f7ff27ba0b938a4df5849849b47e3 with adjustments for FreeBSD.
While our version of the driver has knowledge about the incapablity of DMA above 4GB we do see errors if people have more than that often already showing when laoding firmware. The problem for that is currently believed to be outside this driver so importing it anyway for now.
Given the lack of full license texts on non-local files this is imported under the draft policy for handling SPDX files (D29226). [1]
Approved by: core (imp) [1] MFC after: 2 weeks
show more ...
|