mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
wifi: iwlwifi: fw: api: update link context API version
The flags_mask field is becoming reserved, and a new bandwidth request is being added for RX OMI purposes. Support the new API version as preparation. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20241008072037.437c6573df3c.I03612cb6cf47b12038c1db11b95a554cdea714e9@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
b958cb0b0a
commit
fac20611c2
|
|
@ -382,6 +382,8 @@ struct iwl_mac_config_cmd {
|
|||
* @LINK_CONTEXT_MODIFY_EHT_PARAMS: covers iwl_link_ctx_cfg_cmd::puncture_mask.
|
||||
* This flag can be set only if the MAC that this link relates to has
|
||||
* eht_support set to true. No longer used since _VER_3 of this command.
|
||||
* @LINK_CONTEXT_MODIFY_BANDWIDTH: Covers iwl_link_ctx_cfg_cmd::modify_bandwidth.
|
||||
* Request RX OMI to the AP to modify bandwidth of this link.
|
||||
* @LINK_CONTEXT_MODIFY_ALL: set all above flags
|
||||
*/
|
||||
enum iwl_link_ctx_modify_flags {
|
||||
|
|
@ -393,6 +395,7 @@ enum iwl_link_ctx_modify_flags {
|
|||
LINK_CONTEXT_MODIFY_HE_PARAMS = BIT(5),
|
||||
LINK_CONTEXT_MODIFY_BSS_COLOR_DISABLE = BIT(6),
|
||||
LINK_CONTEXT_MODIFY_EHT_PARAMS = BIT(7),
|
||||
LINK_CONTEXT_MODIFY_BANDWIDTH = BIT(8),
|
||||
LINK_CONTEXT_MODIFY_ALL = 0xff,
|
||||
}; /* LINK_CONTEXT_MODIFY_MASK_E_VER_1 */
|
||||
|
||||
|
|
@ -433,6 +436,22 @@ enum iwl_link_ctx_flags {
|
|||
LINK_FLG_NDP_FEEDBACK_ENABLED = BIT(3),
|
||||
}; /* LINK_CONTEXT_FLAG_E_VER_1 */
|
||||
|
||||
/**
|
||||
* enum iwl_link_modify_bandwidth - link modify (RX OMI) bandwidth
|
||||
* @IWL_LINK_MODIFY_BW_20: request 20 MHz
|
||||
* @IWL_LINK_MODIFY_BW_40: request 40 MHz
|
||||
* @IWL_LINK_MODIFY_BW_80: request 80 MHz
|
||||
* @IWL_LINK_MODIFY_BW_160: request 160 MHz
|
||||
* @IWL_LINK_MODIFY_BW_320: request 320 MHz
|
||||
*/
|
||||
enum iwl_link_modify_bandwidth {
|
||||
IWL_LINK_MODIFY_BW_20,
|
||||
IWL_LINK_MODIFY_BW_40,
|
||||
IWL_LINK_MODIFY_BW_80,
|
||||
IWL_LINK_MODIFY_BW_160,
|
||||
IWL_LINK_MODIFY_BW_320,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct iwl_link_config_cmd - command structure to configure the LINK context
|
||||
* in MLD API
|
||||
|
|
@ -457,6 +476,8 @@ enum iwl_link_ctx_flags {
|
|||
* @block_tx: tell the firmware that this link can't Tx. This should be used
|
||||
* only when a link is de-activated because of CSA with mode = 1.
|
||||
* Available since version 5.
|
||||
* @modify_bandwidth: bandwidth request value for RX OMI (see also
|
||||
* %LINK_CONTEXT_MODIFY_BANDWIDTH), from &enum iwl_link_modify_bandwidth.
|
||||
* @reserved1: in version 2, listen_lmac became reserved
|
||||
* @cck_rates: basic rates available for CCK
|
||||
* @ofdm_rates: basic rates available for OFDM
|
||||
|
|
@ -500,10 +521,11 @@ struct iwl_link_config_cmd {
|
|||
__le32 modify_mask;
|
||||
__le32 active;
|
||||
union {
|
||||
__le32 listen_lmac;
|
||||
__le32 listen_lmac; /* only _VER_1 */
|
||||
struct {
|
||||
u8 block_tx;
|
||||
u8 reserved1[3];
|
||||
u8 block_tx; /* since _VER_5 */
|
||||
u8 modify_bandwidth; /* since _VER_6 */
|
||||
u8 reserved1[2];
|
||||
};
|
||||
};
|
||||
__le32 cck_rates;
|
||||
|
|
@ -524,7 +546,7 @@ struct iwl_link_config_cmd {
|
|||
__le16 puncture_mask; /* removed in _VER_3 */
|
||||
__le16 frame_time_rts_th;
|
||||
__le32 flags;
|
||||
__le32 flags_mask;
|
||||
__le32 flags_mask; /* removed in _VER_6 */
|
||||
/* The below fields are for multi-bssid */
|
||||
u8 ref_bssid_addr[6];
|
||||
__le16 reserved_for_ref_bssid_addr;
|
||||
|
|
@ -535,7 +557,7 @@ struct iwl_link_config_cmd {
|
|||
u8 ibss_bssid_addr[6];
|
||||
__le16 reserved_for_ibss_bssid_addr;
|
||||
__le32 reserved3[8];
|
||||
} __packed; /* LINK_CONTEXT_CONFIG_CMD_API_S_VER_1, _VER_2, _VER_3, _VER_4, _VER_5 */
|
||||
} __packed; /* LINK_CONTEXT_CONFIG_CMD_API_S_VER_1, _VER_2, _VER_3, _VER_4, _VER_5, _VER_6 */
|
||||
|
||||
/* Currently FW supports link ids in the range 0-3 and can have
|
||||
* at most two active links for each vif.
|
||||
|
|
|
|||
|
|
@ -361,7 +361,8 @@ int iwl_mvm_link_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
|||
send_cmd:
|
||||
cmd.modify_mask = cpu_to_le32(changes);
|
||||
cmd.flags = cpu_to_le32(flags);
|
||||
cmd.flags_mask = cpu_to_le32(flags_mask);
|
||||
if (cmd_ver < 6)
|
||||
cmd.flags_mask = cpu_to_le32(flags_mask);
|
||||
cmd.spec_link_id = link_conf->link_id;
|
||||
if (cmd_ver < 2)
|
||||
cmd.listen_lmac = cpu_to_le32(link_info->listen_lmac);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user