git: 82782cffead3 - stable/14 - LinuxKPI: 802.11: prepare for iwlwifi driver updates

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Fri, 06 Oct 2023 14:25:05 UTC
The branch stable/14 has been updated by bz:

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

commit 82782cffead3c757a94a10fe02b202a4dd3b1a04
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2023-09-05 18:02:02 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2023-10-06 12:47:39 +0000

    LinuxKPI: 802.11: prepare for iwlwifi driver updates
    
    Update ieee80211_request_smps() to the new number of arguments in
    LinuxKPI (which was already prepared) and update the one call in the
    older iwlwifi driver version.
    This will allow iwlwifi as-is now and rtw88 to compile in case someone
    else wants to work on the latter in parallel to predominant efforts on
    the former.
    
    Unconditionally enable the other changes for newer drivers, as needed by
    iwlwifi (and others).
    
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 815b7436a7c6302365b6514194d27d41cb736227)
    (cherry picked from commit 3e1f5cc9a81a6065ddc371eea5755b4e207d72f8)
---
 sys/compat/linuxkpi/common/include/net/mac80211.h | 29 +++--------------------
 sys/contrib/dev/iwlwifi/mvm/utils.c               |  2 +-
 2 files changed, 4 insertions(+), 27 deletions(-)

diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h
index cacf9d652fd0..20371812198a 100644
--- a/sys/compat/linuxkpi/common/include/net/mac80211.h
+++ b/sys/compat/linuxkpi/common/include/net/mac80211.h
@@ -703,12 +703,6 @@ struct ieee80211_sta {
 	struct ieee80211_link_sta		deflink;
 	struct ieee80211_link_sta		*link[IEEE80211_MLD_MAX_NUM_LINKS];	/* rcu? */
 
-#ifndef __FOR_LATER_DRV_UPDATE
-	uint16_t				max_rc_amsdu_len;
-	uint16_t				max_amsdu_len;
-	uint16_t				max_tid_amsdu_len[IEEE80211_NUM_TIDS];
-#endif
-
 	/* Must stay last. */
 	uint8_t					drv_priv[0] __aligned(CACHE_LINE_SIZE);
 };
@@ -1421,7 +1415,6 @@ ieee80211_is_back_req(__le16 fc)
 }
 
 static __inline bool
-#ifdef __FOR_LATER_DRV_UPDATE
 ieee80211_is_bufferable_mmpdu(struct sk_buff *skb)
 {
 	struct ieee80211_mgmt *mgmt;
@@ -1429,10 +1422,6 @@ ieee80211_is_bufferable_mmpdu(struct sk_buff *skb)
 
 	mgmt = (struct ieee80211_mgmt *)skb->data;
 	fc = mgmt->frame_control;
-#else
-ieee80211_is_bufferable_mmpdu(__le16 fc)
-{
-#endif
 
 	/* 11.2.2 Bufferable MMPDUs, 80211-2020. */
 	/* XXX we do not care about IBSS yet. */
@@ -2022,10 +2011,7 @@ ieee80211_ie_split(const u8 *ies, size_t ies_len,
 }
 
 static __inline void
-ieee80211_request_smps(struct ieee80211_vif *vif,
-#ifdef __FOR_LATER_DRV_UPDATE
-    u_int link_id,
-#endif
+ieee80211_request_smps(struct ieee80211_vif *vif, u_int link_id,
     enum ieee80211_smps_mode smps)
 {
 	static const char *smps_mode_name[] = {
@@ -2222,10 +2208,7 @@ ieee80211_tx_dequeue(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
 
 static __inline void
 ieee80211_update_mu_groups(struct ieee80211_vif *vif,
-#ifdef __FOR_LATER_DRV_UPDATE
-    u_int _i,
-#endif
-    uint8_t *ms, uint8_t *up)
+    u_int _i, uint8_t *ms, uint8_t *up)
 {
 	TODO();
 }
@@ -2345,14 +2328,8 @@ ieee80211_proberesp_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
 
 static __inline struct sk_buff *
 ieee80211_nullfunc_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
-#ifdef __FOR_LATER_DRV_UPDATE
-    int linkid,
-#endif
-    bool qos)
+    int linkid, bool qos)
 {
-#ifndef __FOR_LATER_DRV_UPDATE
-	int linkid = 0;
-#endif
 
 	/* Only STA needs this.  Otherwise return NULL and panic bad drivers. */
 	if (vif->type != NL80211_IFTYPE_STATION)
diff --git a/sys/contrib/dev/iwlwifi/mvm/utils.c b/sys/contrib/dev/iwlwifi/mvm/utils.c
index 075ada8ba356..5370cec8140a 100644
--- a/sys/contrib/dev/iwlwifi/mvm/utils.c
+++ b/sys/contrib/dev/iwlwifi/mvm/utils.c
@@ -307,7 +307,7 @@ void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
 			smps_mode = IEEE80211_SMPS_DYNAMIC;
 	}
 
-	ieee80211_request_smps(vif, smps_mode);
+	ieee80211_request_smps(vif, 0, smps_mode);
 }
 
 static bool iwl_wait_stats_complete(struct iwl_notif_wait_data *notif_wait,