]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: adjust LINK context NPCA API
authorJohannes Berg <johannes.berg@intel.com>
Mon, 10 Nov 2025 13:02:21 +0000 (15:02 +0200)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 21 Jan 2026 12:23:02 +0000 (14:23 +0200)
The link context NPCA API was changed in the firmware, adjust
the driver accordingly.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20251110150012.93bd7a454eef.I3d2ce1a363b0d8c3809ec8e729b7acf94efca25b@changeid
drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h

index 628f39917a6fbc70c7a82b06a033af30152c3b93..f260115abc5ab5ae9d01cbfa8a66c88261ab5646 100644 (file)
@@ -503,23 +503,37 @@ enum iwl_link_modify_bandwidth {
        IWL_LINK_MODIFY_BW_320,
 };
 
+/**
+ * enum iwl_npca_flags - NPCA flags
+ * @IWL_NPCA_FLAG_MAC_HDR_BASED: MAC header based NPCA operation
+ *     permitted in the BSS (MOPLEN)
+ */
+enum iwl_npca_flags {
+       IWL_NPCA_FLAG_MAC_HDR_BASED = BIT(0),
+}; /* NPCA_FLAG_E */
+
 /**
  * struct iwl_npca_params - NPCA parameters (non-primary channel access)
  *
+ * @dis_subch_bmap: disabled subchannel bitmap for NPCA
  * @switch_delay: after switch, delay TX according to destination AP
  * @switch_back_delay: switch back to control channel before OBSS frame end
+ * @initial_qsrc: Indicates the value that is used to initialize the
+ *     EDCAF QSRC[AC] variables
  * @min_dur_threshold: minimum PPDU time to switch to the non-primary
- *     NPCA channel
- * @flags: NPCA flags - bit 0: puncturing allowed, bit 1: new TX allowed
+ *     NPCA channel (usec)
+ * @flags: NPCA flags, see &enum iwl_npca_flags
  * @reserved: reserved for alignment purposes
  */
 struct iwl_npca_params {
+       __le16 dis_subch_bmap;
        u8 switch_delay;
        u8 switch_back_delay;
-       __le16 min_dur_threshold;
-       __le16 flags;
-       __le16 reserved;
-} __packed; /* NPCA_PARAM_API_S_VER_1 */
+       u8 initial_qsrc;
+       u8 min_dur_threshold;
+       u8 flags;
+       u8 reserved;
+} __packed; /* NPCA_PARAM_API_S_VER_2 */
 
 /**
  * struct iwl_link_config_cmd - command structure to configure the LINK context
@@ -630,7 +644,8 @@ struct iwl_link_config_cmd {
        struct iwl_npca_params npca_params; /* since _VER_7 */
        struct iwl_ac_qos prio_edca_params; /* since _VER_7 */
        __le32 reserved3[4];
-} __packed; /* LINK_CONTEXT_CONFIG_CMD_API_S_VER_1, _VER_2, _VER_3, _VER_4, _VER_5, _VER_6, _VER_7 */
+} __packed; /* LINK_CONTEXT_CONFIG_CMD_API_S_VER_1, _VER_2, _VER_3, _VER_4,
+            *                              _VER_5, _VER_6, _VER_7, _VER_8 */
 
 /* Currently FW supports link ids in the range 0-3 and can have
  * at most two active links for each vif.