git: 831bdc1b9872 - main - net/wifi-firmware-kmod: generalize iwlwifi specific tunable writing

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Thu, 11 Dec 2025 23:26:28 UTC
The branch main has been updated by bz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=831bdc1b9872d1ef1cefbb9089b324cfdc9b0534

commit 831bdc1b9872d1ef1cefbb9089b324cfdc9b0534
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-11-17 14:49:42 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2025-12-11 23:26:09 +0000

    net/wifi-firmware-kmod: generalize iwlwifi specific tunable writing
    
    Currently iwlwifi(4) is the only LinuxKPI based wireless driver able
    to enable 11n/11ac.  bz has added tunables to rtw88 and rtw89 in order
    to allow them to gradually enable more modern standards as well.
    
    Generalize the ports framework to not be iwlwifi-specifc anymore
    in order to prepare for Realtek and others to gain 11n and 11ac
    support.
    
    At some point in time, along with a kernel change, we will then flip
    the defaults and make this a "disable" rather than an enable option.
    
    Sponsored by:   The FreeBSD Foundation
    Reviewers:      jrm
    Differential Revision: https://reviews.freebsd.org/D53789
---
 net/wifi-firmware-iwlwifi-kmod/Makefile |  2 +-
 net/wifi-firmware-kmod/Makefile.inc     | 17 ++++++++++-------
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/net/wifi-firmware-iwlwifi-kmod/Makefile b/net/wifi-firmware-iwlwifi-kmod/Makefile
index 6962fa626c5f..4b57eebec2b2 100644
--- a/net/wifi-firmware-iwlwifi-kmod/Makefile
+++ b/net/wifi-firmware-iwlwifi-kmod/Makefile
@@ -11,7 +11,7 @@ LICENSE_NAME=	Intel firmware license (${FWDRV})
 WHENCE_REGEX=	iwlwifi -.*
 
 # Temporary list of flavours which we believe work with HW_CRYPTO/HT/VHT.
-COMPAT_LINUXKPI_IWL_HWCRYPTO_HT_VHT=	22000 ax210 bz
+COMPAT_LINUXKPI_HWCRYPTO_HT_VHT=	22000 ax210 bz
 
 # Run iwlwifi-generate-fw-list.sh according to description.
 
diff --git a/net/wifi-firmware-kmod/Makefile.inc b/net/wifi-firmware-kmod/Makefile.inc
index 7719f65847d2..a5438cd1a6b8 100644
--- a/net/wifi-firmware-kmod/Makefile.inc
+++ b/net/wifi-firmware-kmod/Makefile.inc
@@ -120,12 +120,15 @@ post-extract:
 	@${ECHO_CMD} "compat.linuxkpi.skb.mem_limit=${COMPAT_LINUXKPI_SKB_MEM_LIMIT}" >> ${WRKSRC}/${BOOT_LOADERCONFD}/${FLAVOR}.conf
 	@${ECHO_CMD} "${BOOT_LOADERCONFD}/${FLAVOR}.conf" >> ${PLIST}
 .endif
-.if defined(COMPAT_LINUXKPI_IWL_HWCRYPTO_HT_VHT) && (${COMPAT_LINUXKPI_IWL_HWCRYPTO_HT_VHT:M${FLAVOR}} != "")
+.if defined(COMPAT_LINUXKPI_HWCRYPTO_HT_VHT) && (${COMPAT_LINUXKPI_HWCRYPTO_HT_VHT:M${FLAVOR}} != "")
 	@${MKDIR} ${WRKSRC}/${BOOT_LOADERCONFD}
-	@${ECHO_CMD} "compat.linuxkpi.80211.hw_crypto=1" >> ${WRKSRC}/${BOOT_LOADERCONFD}/iwlwifi-${FLAVOR}.conf
-	@${ECHO_CMD} "compat.linuxkpi.iwlwifi_11n_disable=0" >> ${WRKSRC}/${BOOT_LOADERCONFD}/iwlwifi-${FLAVOR}.conf
-	@${ECHO_CMD} "compat.linuxkpi.iwlwifi_disable_11ac=0" >> ${WRKSRC}/${BOOT_LOADERCONFD}/iwlwifi-${FLAVOR}.conf
-	@${ECHO_CMD} "${BOOT_LOADERCONFD}/iwlwifi-${FLAVOR}.conf" >> ${PLIST}
+	@${ECHO_CMD} "compat.linuxkpi.80211.hw_crypto=1" >> ${WRKSRC}/${BOOT_LOADERCONFD}/${FWDRV}-${FLAVOR}.conf
+	# "iwlwifi_11n_disable" one is iwlwifi specific; for all the others bz created them homogeneously.
+	# Setting an unknown kenv does not hurt.
+	@${ECHO_CMD} "compat.linuxkpi.${FWDRV}_11n_disable=0" >> ${WRKSRC}/${BOOT_LOADERCONFD}/${FWDRV}-${FLAVOR}.conf
+	@${ECHO_CMD} "compat.linuxkpi.${FWDRV}_disable_11n=0" >> ${WRKSRC}/${BOOT_LOADERCONFD}/${FWDRV}-${FLAVOR}.conf
+	@${ECHO_CMD} "compat.linuxkpi.${FWDRV}_disable_11ac=0" >> ${WRKSRC}/${BOOT_LOADERCONFD}/${FWDRV}-${FLAVOR}.conf
+	@${ECHO_CMD} "${BOOT_LOADERCONFD}/${FWDRV}-${FLAVOR}.conf" >> ${PLIST}
 .endif
 ################################################################################
 .for _f in ${DISTFILES_${FLAVOR}:O:u}
@@ -153,9 +156,9 @@ post-install:
 	@${MKDIR} ${STAGEDIR}/${BOOT_LOADERCONFD}
 	@${INSTALL_DATA} ${WRKSRC}/${BOOT_LOADERCONFD}/${FLAVOR}.conf ${STAGEDIR}/${BOOT_LOADERCONFD}/${FLAVOR}.conf
 .endif
-.if defined(COMPAT_LINUXKPI_IWL_HWCRYPTO_HT_VHT) && (${COMPAT_LINUXKPI_IWL_HWCRYPTO_HT_VHT:M${FLAVOR}} != "")
+.if defined(COMPAT_LINUXKPI_HWCRYPTO_HT_VHT) && (${COMPAT_LINUXKPI_HWCRYPTO_HT_VHT:M${FLAVOR}} != "")
 	@${MKDIR} ${STAGEDIR}/${BOOT_LOADERCONFD}
-	@${INSTALL_DATA} ${WRKSRC}/${BOOT_LOADERCONFD}/iwlwifi-${FLAVOR}.conf ${STAGEDIR}/${BOOT_LOADERCONFD}/iwlwifi-${FLAVOR}.conf
+	@${INSTALL_DATA} ${WRKSRC}/${BOOT_LOADERCONFD}/${FWDRV}-${FLAVOR}.conf ${STAGEDIR}/${BOOT_LOADERCONFD}/${FWDRV}-${FLAVOR}.conf
 .endif
 	@${DO_NADA}