mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
wifi: iwlwifi: mvm: set ul_mu_data_disable when needed
The firmware needs to know what we had in the HE CAP, propagate that setting to the firmware through the LINK command. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20240729201718.fef270d2995b.I328237837df30e1cb98764987eaaf8e8993e058c@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
27c8f12e97
commit
6d1b52cc9a
|
|
@ -472,7 +472,9 @@ enum iwl_link_ctx_flags {
|
|||
* @bssid_index: index of the associated VAP
|
||||
* @bss_color: 11ax AP ID that is used in the HE SIG-A to mark inter BSS frame
|
||||
* @spec_link_id: link_id as the AP knows it
|
||||
* @reserved2: alignment
|
||||
* @ul_mu_data_disable: OM Control UL MU Data Disable RX Support (bit 44) in
|
||||
* HE MAC Capabilities information field as defined in figure 9-897 in
|
||||
* IEEE802.11REVme-D5.0
|
||||
* @ibss_bssid_addr: bssid for ibss
|
||||
* @reserved_for_ibss_bssid_addr: reserved
|
||||
* @reserved3: reserved for future use
|
||||
|
|
@ -515,11 +517,11 @@ struct iwl_link_config_cmd {
|
|||
u8 bssid_index;
|
||||
u8 bss_color;
|
||||
u8 spec_link_id;
|
||||
u8 reserved2;
|
||||
u8 ul_mu_data_disable;
|
||||
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 */
|
||||
} __packed; /* LINK_CONTEXT_CONFIG_CMD_API_S_VER_1, _VER_2, _VER_3, _VER_4 */
|
||||
|
||||
/* Currently FW supports link ids in the range 0-3 and can have
|
||||
* at most two active links for each vif.
|
||||
|
|
|
|||
|
|
@ -293,6 +293,17 @@ int iwl_mvm_link_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
|||
(link_conf->uora_ocw_range >> 3) & 0x7;
|
||||
}
|
||||
|
||||
/* ap_sta may be NULL if we're disconnecting */
|
||||
if (changes & LINK_CONTEXT_MODIFY_HE_PARAMS && mvmvif->ap_sta) {
|
||||
struct ieee80211_link_sta *link_sta =
|
||||
link_sta_dereference_check(mvmvif->ap_sta, link_id);
|
||||
|
||||
if (!WARN_ON(!link_sta) && link_sta->he_cap.has_he &&
|
||||
link_sta->he_cap.he_cap_elem.mac_cap_info[5] &
|
||||
IEEE80211_HE_MAC_CAP5_OM_CTRL_UL_MU_DATA_DIS_RX)
|
||||
cmd.ul_mu_data_disable = 1;
|
||||
}
|
||||
|
||||
/* TODO how to set ndp_fdbk_buff_th_exp? */
|
||||
|
||||
if (iwl_mvm_set_fw_mu_edca_params(mvm, mvmvif->link[link_id],
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user