git: b7d358ded239 - stable/13 - rtw88: add man pages and hook up to build

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Fri, 03 Jun 2022 16:43:12 UTC
The branch stable/13 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=b7d358ded239227242b94379bf13ec97ab3bbbe6

commit b7d358ded239227242b94379bf13ec97ab3bbbe6
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-03-30 22:36:03 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-06-03 15:51:16 +0000

    rtw88: add man pages and hook up to build
    
    Add man pages for rtw88 and rtw88fw.  Install a copy of the firmware
    license file and hook up the driver and firmware modules to the build.
    
    Sponsored by:   The FreeBSD Foundation
    Relnotes:       yes
    
    (cherry picked from commit 20eeed6844e2ab82b909e02c720101297e78d916)
---
 share/doc/legal/Makefile               |  3 +-
 share/doc/legal/realtek_rtw88/Makefile |  7 +++
 share/man/man4/Makefile                |  2 +
 share/man/man4/rtw88.4                 | 95 ++++++++++++++++++++++++++++++++++
 share/man/man4/rtw88fw.4               | 56 ++++++++++++++++++++
 sys/modules/Makefile                   |  6 +++
 6 files changed, 168 insertions(+), 1 deletion(-)

diff --git a/share/doc/legal/Makefile b/share/doc/legal/Makefile
index 7a20215305d2..9710bfa48832 100644
--- a/share/doc/legal/Makefile
+++ b/share/doc/legal/Makefile
@@ -5,7 +5,8 @@ SUBDIR=	intel_ipw \
 	intel_iwlwififw \
 	intel_iwn \
 	intel_wpi \
-	realtek
+	realtek \
+	realtek_rtw88
 
 SUBDIR_PARALLEL=
 
diff --git a/share/doc/legal/realtek_rtw88/Makefile b/share/doc/legal/realtek_rtw88/Makefile
new file mode 100644
index 000000000000..8f1d6d9b9c41
--- /dev/null
+++ b/share/doc/legal/realtek_rtw88/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+FILES=		${SRCTOP}/sys/contrib/dev/rtw88fw/LICENCE.rtlwifi_firmware.txt
+FILESDIR=	${SHAREDIR}/doc/legal
+FILESNAME=	realtek_rtw88_firmware.LICENCE
+
+.include <bsd.prog.mk>
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 0df6c064d57c..622b4f040a70 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -473,6 +473,8 @@ MAN=	aac.4 \
 	rndtest.4 \
 	route.4 \
 	rtsx.4 \
+	rtw88.4 \
+	rtw88fw.4 \
 	rtwn.4 \
 	rtwnfw.4 \
 	rtwn_pci.4 \
diff --git a/share/man/man4/rtw88.4 b/share/man/man4/rtw88.4
new file mode 100644
index 000000000000..b34fbf96c5df
--- /dev/null
+++ b/share/man/man4/rtw88.4
@@ -0,0 +1,95 @@
+.\"-
+.\" Copyright (c) 2022 Bjoern A. Zeeb
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd March 31, 2022
+.Dt rtw88 4
+.Os
+.Sh NAME
+.Nm rtw88
+.Nd Realtek IEEE 802.11n/ac wireless network driver
+.Sh SYNOPSIS
+The driver will auto-load without any user interaction using
+.Xr devmatch 8
+if enabled in
+.Xr rc.conf 5 .
+.Pp
+Only if auto-loading is explicitly disabled, place the following
+lines in
+.Xr rc.conf 5
+to manually load the driver as a module at boot time:
+.Bd -literal -offset indent
+kld_list="${kld_list} if_rtw88"
+.Ed
+.Pp
+The driver should automatically load any
+.Xr rtw88fw 4
+firmware needed for the particular chipset.
+.Pp
+It is discouraged to load the driver from
+.Xr loader 8 .
+.Sh DESCRIPTION
+The
+.Nm
+driver is derived from Realtek's Linux rtw88 driver and provides support for
+the following chipsets:
+.Pp
+.Bl -tag -width Ds -offset indent -compact
+.It Realtek 802.11n  wireless 8723de (RTL8723DE)
+.It Realtek 802.11ac wireless 8821ce (RTL8821CE)
+.It Realtek 802.11ac wireless 8822be (RTL8822BE)
+.It Realtek 802.11ac wireless 8822ce (RTL8822CE)
+.El
+.Pp
+The driver uses the
+.\" No LinuxKPI man pages so no .Xr here.
+.Em linuxkpi_wlan
+and
+.Em linuxkpi
+compat framework to bridge between the Linux and
+native FreeBSD driver code as well as to the native
+.Xr net80211 4
+wireless stack.
+.Pp
+While
+.Nm
+supports all 802.11 a/b/g/n and ac
+the compatibility code currently only supports 802.11 a/b/g modes.
+Support for 802.11 n/ac is to come.
+.Sh BUGS
+Certainly.
+.Pp
+Does not seem to work (reliably) on machines with more than 4GB of
+main memory.
+.Sh SEE ALSO
+.Xr rtw88fw 4 ,
+.Xr wlan 4 ,
+.Xr ifconfig 8 ,
+.Xr wpa_supplicant 8
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 14.0 .
diff --git a/share/man/man4/rtw88fw.4 b/share/man/man4/rtw88fw.4
new file mode 100644
index 000000000000..1bf756d67e57
--- /dev/null
+++ b/share/man/man4/rtw88fw.4
@@ -0,0 +1,56 @@
+.\"-
+.\" Copyright (c) 2022 Bjoern A. Zeeb
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd March 31, 2022
+.Dt rtw88fw 4
+.Os
+.Sh NAME
+.Nm rtw88fw
+.Nd Firmware modules for Realtek rtw88 wireless network driver
+.Sh SYNOPSIS
+The
+.Xr rtw88 4
+driver should auto-load any firmware needed.
+It is discouraged to load the driver or firmware manually from
+.Xr loader 8 .
+.Sh DESCRIPTION
+Multiple modules provide access to firmware for the various chipset
+models supported by the
+.Xr rtw88 4
+driver.
+.Sh FILES
+A copy of the
+.Xr rtw88 4
+firmware license is installed at
+.Em /usr/share/doc/legal/realtek_rtw88_firmware.LICENCE .
+.Sh SEE ALSO
+.Xr rtw88 4 ,
+.Xr firmware 9
+.Sh HISTORY
+The
+.Nm
+firmware modules first appeared in
+.Fx 14.0 .
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index 232728df7f63..9b5474425916 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -328,6 +328,8 @@ SUBDIR=	\
 	rl \
 	${_rockchip} \
 	rtsx \
+	${_rtw88} \
+	${_rtw88fw} \
 	rtwn \
 	rtwn_pci \
 	rtwn_usb \
@@ -542,6 +544,10 @@ _mlx4ib=	mlx4ib
 _mlx5ib=	mlx5ib
 .endif
 _ossl=		ossl
+_rtw88=		rtw88
+.if ${MK_SOURCELESS_UCODE} != "no"
+_rtw88fw=	rtw88fw
+.endif
 _vmware=	vmware
 .endif