From nobody Mon Feb 10 14:52:58 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ys6y34bbJz5mH8x; Mon, 10 Feb 2025 14:52:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6y261K6z4LnK; Mon, 10 Feb 2025 14:52:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KFLHNngZ5ZyFxvOQ31RLaA2TVnqF+WnxDZ9kP8u9iog=; b=DzlTfaGO5g5IXmeV52XoqZWZM0Wq76zbmFDXnBDIadVj3dLiMhJNvzo/8CQiULnOrVIrbM vyVd+QIaA3FoEh9wYk95LdtltUC7KJAlm1z8OzdZoiZvYzjhI4h421Xb6BbIIfl3+AYH5d uIRxEteBxn6Gyu02/NcAoqw11sU60qqjfnk/S9FESu09B6YKj9xTA4Y3e7tJoE7iJElSGW SN40DNw5d/9xEbLR7I+VzUSjyWR/z4zymNvtzyAqldVg2uVgqDgqBF39js0T8eXmw1Agjg JU3Sj6Xdp2RSmnXCnew7y2X4EOD+Wwyve1P9e+ADiyII0jPg09FO11ioR4Ks+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739199178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KFLHNngZ5ZyFxvOQ31RLaA2TVnqF+WnxDZ9kP8u9iog=; b=AWPMIj/TLlDskhfayk5WR1ApDsjGBi+BlX+/1l4Hbrh+OJrJrZtHnglsPW89MqlIw1PzoZ y12VW3+ZAq38LP2xm4i6672URFkWrqmRYYiUnKDunpxSdMEqzc7cxVPh4HMUfDwcUDRwvx zAkp6FI5fBPOJe7JT8KaVLmYz51KPK9PIyOif8FzNyliuiBVv1hTYM5vcqxhbV7KJDqQe2 juBGsQUDTdG46sFXg/BUBdSIc3+03fQxuZEEWYdJNbEcDeSqBTZdf5M5lFfB/8+9nvwgCj cC+Ff1jyBwU69INkJgIKp3ixhMkBNBCvTFtuY+/WMLp16XBP32E5+qFPaHQ3ZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739199178; a=rsa-sha256; cv=none; b=xjB3pA68FkJ9A55jY+6ySwuva/IMY/c52ORfU1CoQpKM44frrhF2B3UqXIgGdt7XXCbmCa gaEZubHILmtUyxn/o+dOCSQ74FEnOydzuYgsIahKax9BHHlfoC1XNDTJ95XnNTgOkkc0LR AyNMJSr3Na8dIfwOpAGaGU+i/WIk1ECfKNI3q7X0qR+26tJGsUE7EcBEBj40CjvG7iOQkl iT4lwK7+TFZpCdfQXQBsvIZGqj/5TLviXH9kYLUR7FRhSX5yyjKD702nUe8WvmT6Cr9wwB GHDYRqtDqG8fi98jB6vQreNRSvvAjLnT8eVMnoZ00JyrcAoHuqCORQup015dyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6y25Kz5zX7C; Mon, 10 Feb 2025 14:52:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51AEqwZD028511; Mon, 10 Feb 2025 14:52:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEqwdG028508; Mon, 10 Feb 2025 14:52:58 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:52:58 GMT Message-Id: <202502101452.51AEqwdG028508@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9689622f9898 - stable/14 - rtw88/rtw89: add module_param to enable/disable HT/VHT and EHT List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9689622f98982d785c906051e7114e6f7d5d4095 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9689622f98982d785c906051e7114e6f7d5d4095 commit 9689622f98982d785c906051e7114e6f7d5d4095 Author: Bjoern A. Zeeb AuthorDate: 2025-01-26 00:26:14 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-10 14:52:11 +0000 rtw88/rtw89: add module_param to enable/disable HT/VHT and EHT 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 (cherry picked from commit 7a5b55e3b448744b099c274763992cba2e3ebce5) --- sys/contrib/dev/rtw88/main.c | 22 ++++++++++++++++++++++ sys/contrib/dev/rtw89/core.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/sys/contrib/dev/rtw88/main.c b/sys/contrib/dev/rtw88/main.c index de94f750200e..5157f447b93c 100644 --- a/sys/contrib/dev/rtw88/main.c +++ b/sys/contrib/dev/rtw88/main.c @@ -46,6 +46,16 @@ MODULE_PARM_DESC(disable_lps_deep, "Set Y to disable Deep PS"); MODULE_PARM_DESC(support_bf, "Set Y to enable beamformee support"); MODULE_PARM_DESC(debug_mask, "Debugging mask"); +#if defined(__FreeBSD__) +static bool rtw_ht_support = false; +module_param_named(support_ht, rtw_ht_support, bool, 0644); +MODULE_PARM_DESC(support_ht, "Set to Y to enable HT support"); + +static bool rtw_vht_support = false; +module_param_named(support_vht, rtw_vht_support, bool, 0644); +MODULE_PARM_DESC(support_vht, "Set to Y to enable VHT support"); +#endif + static struct ieee80211_channel rtw_channeltable_2g[] = { {.center_freq = 2412, .hw_value = 1,}, {.center_freq = 2417, .hw_value = 2,}, @@ -1666,7 +1676,11 @@ static void rtw_set_supported_band(struct ieee80211_hw *hw, sband = kmemdup(&rtw_band_2ghz, sizeof(*sband), GFP_KERNEL); if (!sband) goto err_out; +#if defined(__linux__) if (chip->ht_supported) +#elif defined(__FreeBSD__) + if (rtw_ht_support && chip->ht_supported) +#endif rtw_init_ht_cap(rtwdev, &sband->ht_cap); hw->wiphy->bands[NL80211_BAND_2GHZ] = sband; } @@ -1675,9 +1689,17 @@ static void rtw_set_supported_band(struct ieee80211_hw *hw, sband = kmemdup(&rtw_band_5ghz, sizeof(*sband), GFP_KERNEL); if (!sband) goto err_out; +#if defined(__linux__) if (chip->ht_supported) +#elif defined(__FreeBSD__) + if (rtw_ht_support && chip->ht_supported) +#endif rtw_init_ht_cap(rtwdev, &sband->ht_cap); +#if defined(__linux__) if (chip->vht_supported) +#elif defined(__FreeBSD__) + if (rtw_vht_support && chip->vht_supported) +#endif rtw_init_vht_cap(rtwdev, &sband->vht_cap); hw->wiphy->bands[NL80211_BAND_5GHZ] = sband; } diff --git a/sys/contrib/dev/rtw89/core.c b/sys/contrib/dev/rtw89/core.c index d1f82bfad4a9..85d8dee4e85d 100644 --- a/sys/contrib/dev/rtw89/core.c +++ b/sys/contrib/dev/rtw89/core.c @@ -29,6 +29,21 @@ static bool rtw89_disable_ps_mode; module_param_named(disable_ps_mode, rtw89_disable_ps_mode, bool, 0644); MODULE_PARM_DESC(disable_ps_mode, "Set Y to disable low power mode"); +#if defined(__FreeBSD__) +static bool rtw_ht_support = false; +module_param_named(support_ht, rtw_ht_support, bool, 0644); +MODULE_PARM_DESC(support_ht, "Set to Y to enable HT support"); + +static bool rtw_vht_support = false; +module_param_named(support_vht, rtw_vht_support, bool, 0644); +MODULE_PARM_DESC(support_vht, "Set to Y to enable VHT support"); + +static bool rtw_eht_support = false; +module_param_named(support_eht, rtw_eht_support, bool, 0644); +MODULE_PARM_DESC(support_eht, "Set to Y to enable EHT support"); +#endif + + #define RTW89_DEF_CHAN(_freq, _hw_val, _flags, _band) \ { .center_freq = _freq, .hw_value = _hw_val, .flags = _flags, .band = _band, } #define RTW89_DEF_CHAN_2G(_freq, _hw_val) \ @@ -4006,7 +4021,13 @@ static int rtw89_core_set_supported_band(struct rtw89_dev *rtwdev) sband_2ghz = kmemdup(&rtw89_sband_2ghz, size, GFP_KERNEL); if (!sband_2ghz) goto err; +#if defined(__FreeBSD__) + if (rtw_ht_support) +#endif rtw89_init_ht_cap(rtwdev, &sband_2ghz->ht_cap); +#if defined(__FreeBSD__) + if (rtw_eht_support) +#endif rtw89_init_he_eht_cap(rtwdev, NL80211_BAND_2GHZ, sband_2ghz); hw->wiphy->bands[NL80211_BAND_2GHZ] = sband_2ghz; } @@ -4015,8 +4036,17 @@ static int rtw89_core_set_supported_band(struct rtw89_dev *rtwdev) sband_5ghz = kmemdup(&rtw89_sband_5ghz, size, GFP_KERNEL); if (!sband_5ghz) goto err; +#if defined(__FreeBSD__) + if (rtw_ht_support) +#endif rtw89_init_ht_cap(rtwdev, &sband_5ghz->ht_cap); +#if defined(__FreeBSD__) + if (rtw_vht_support) +#endif rtw89_init_vht_cap(rtwdev, &sband_5ghz->vht_cap); +#if defined(__FreeBSD__) + if (rtw_eht_support) +#endif rtw89_init_he_eht_cap(rtwdev, NL80211_BAND_5GHZ, sband_5ghz); hw->wiphy->bands[NL80211_BAND_5GHZ] = sband_5ghz; }