* @LINK_FLG_NDP_FEEDBACK_ENABLED: mark support for NDP feedback and change
* of threshold
* @LINK_FLG_NPCA: NPCA enabled
+ * @LINK_FLG_DPS: AP is a DPS assisting AP
*/
enum iwl_link_ctx_flags {
LINK_FLG_BSS_COLOR_DIS = BIT(0),
LINK_FLG_RU_2MHZ_BLOCK = BIT(2),
LINK_FLG_NDP_FEEDBACK_ENABLED = BIT(3),
LINK_FLG_NPCA = BIT(4),
+ LINK_FLG_DPS = BIT(6),
}; /* LINK_CONTEXT_FLAG_E_VER_1 */
/**
.phy.cap = IEEE80211_UHR_PHY_CAP_ELR_RX |
IEEE80211_UHR_PHY_CAP_ELR_TX,
.mac.mac_cap = {
- [0] = IEEE80211_UHR_MAC_CAP0_NPCA_SUPP,
+ [0] = IEEE80211_UHR_MAC_CAP0_NPCA_SUPP |
+ IEEE80211_UHR_MAC_CAP0_DPS_SUPP,
},
},
},
link_sta_dereference_check(mld_vif->ap_sta,
link->link_id);
- if (!WARN_ON(!link_sta) && link_sta->he_cap.has_he &&
+ if (WARN_ON(!link_sta))
+ return -EINVAL;
+
+ if (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;
+
+ if (link_sta->uhr_cap.has_uhr &&
+ link_sta->uhr_cap.mac.mac_cap[0] &
+ IEEE80211_UHR_MAC_CAP0_DPS_ASSIST_SUPP)
+ flags |= LINK_FLG_DPS;
}
cmd.htc_trig_based_pkt_ext = link->htc_trig_based_pkt_ext;