Lines Matching refs:sta

28 			sta_id, priv->stations[sta_id].sta.sta.addr);  in iwl_sta_ucode_activate()
34 sta_id, priv->stations[sta_id].sta.sta.addr); in iwl_sta_ucode_activate()
38 sta_id, priv->stations[sta_id].sta.sta.addr); in iwl_sta_ucode_activate()
83 struct iwl_addsta_cmd *sta, u8 flags) in iwl_send_add_sta() argument
89 .data = { sta, }, in iwl_send_add_sta()
90 .len = { sizeof(*sta), }, in iwl_send_add_sta()
92 u8 sta_id __maybe_unused = sta->sta.sta_id; in iwl_send_add_sta()
97 sta_id, sta->sta.addr, flags & CMD_ASYNC ? "a" : ""); in iwl_send_add_sta()
128 struct ieee80211_sta *sta) in iwl_is_ht40_tx_allowed() argument
139 if (!sta) in iwl_is_ht40_tx_allowed()
142 return sta->deflink.bandwidth >= IEEE80211_STA_RX_BW_40; in iwl_is_ht40_tx_allowed()
146 struct ieee80211_sta *sta, in iwl_sta_calc_ht_flags() argument
150 struct ieee80211_sta_ht_cap *sta_ht_inf = &sta->deflink.ht_cap; in iwl_sta_calc_ht_flags()
159 if (!sta || !sta_ht_inf->ht_supported) in iwl_sta_calc_ht_flags()
163 sta->addr, in iwl_sta_calc_ht_flags()
164 (sta->deflink.smps_mode == IEEE80211_SMPS_STATIC) ? in iwl_sta_calc_ht_flags()
166 (sta->deflink.smps_mode == IEEE80211_SMPS_DYNAMIC) ? in iwl_sta_calc_ht_flags()
169 switch (sta->deflink.smps_mode) { in iwl_sta_calc_ht_flags()
179 IWL_WARN(priv, "Invalid MIMO PS mode %d\n", sta->deflink.smps_mode); in iwl_sta_calc_ht_flags()
189 if (iwl_is_ht40_tx_allowed(priv, ctx, sta)) in iwl_sta_calc_ht_flags()
194 struct ieee80211_sta *sta) in iwl_sta_update_ht() argument
196 u8 sta_id = iwl_sta_id(sta); in iwl_sta_update_ht()
203 iwl_sta_calc_ht_flags(priv, sta, ctx, &flags, &mask); in iwl_sta_update_ht()
206 priv->stations[sta_id].sta.station_flags &= ~mask; in iwl_sta_update_ht()
207 priv->stations[sta_id].sta.station_flags |= flags; in iwl_sta_update_ht()
214 cmd.sta.sta_id = sta_id; in iwl_sta_update_ht()
220 struct ieee80211_sta *sta, in iwl_set_ht_add_station() argument
225 iwl_sta_calc_ht_flags(priv, sta, ctx, &flags, &mask); in iwl_set_ht_add_station()
228 priv->stations[index].sta.station_flags &= ~mask; in iwl_set_ht_add_station()
229 priv->stations[index].sta.station_flags |= flags; in iwl_set_ht_add_station()
238 const u8 *addr, bool is_ap, struct ieee80211_sta *sta) in iwl_prep_station() argument
250 if (ether_addr_equal(priv->stations[i].sta.sta.addr, in iwl_prep_station()
281 ether_addr_equal(priv->stations[sta_id].sta.sta.addr, addr)) { in iwl_prep_station()
294 memset(&station->sta, 0, sizeof(struct iwl_addsta_cmd)); in iwl_prep_station()
295 memcpy(station->sta.sta.addr, addr, ETH_ALEN); in iwl_prep_station()
296 station->sta.mode = 0; in iwl_prep_station()
297 station->sta.sta.sta_id = sta_id; in iwl_prep_station()
298 station->sta.station_flags = ctx->station_flags; in iwl_prep_station()
301 if (sta) { in iwl_prep_station()
304 sta_priv = (void *)sta->drv_priv; in iwl_prep_station()
313 iwl_set_ht_add_station(priv, sta_id, sta, ctx); in iwl_prep_station()
326 struct ieee80211_sta *sta, u8 *sta_id_r) in iwl_add_station_common() argument
334 sta_id = iwl_prep_station(priv, ctx, addr, is_ap, sta); in iwl_add_station_common()
363 memcpy(&sta_cmd, &priv->stations[sta_id].sta, in iwl_add_station_common()
372 priv->stations[sta_id].sta.sta.addr); in iwl_add_station_common()
666 priv->stations[i].sta.sta.addr); in iwl_restore_stations()
667 priv->stations[i].sta.mode = 0; in iwl_restore_stations()
675 memcpy(&sta_cmd, &priv->stations[i].sta, in iwl_restore_stations()
693 priv->stations[i].sta.sta.addr); in iwl_restore_stations()
1059 struct ieee80211_sta *sta) in iwlagn_key_sta_id() argument
1063 if (sta) in iwlagn_key_sta_id()
1064 return iwl_sta_id(sta); in iwlagn_key_sta_id()
1088 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(sta_cmd)); in iwlagn_send_sta_key()
1128 sta_cmd.sta.modify_mask = STA_MODIFY_KEY_MASK; in iwlagn_send_sta_key()
1136 struct ieee80211_sta *sta, u32 iv32, u16 *phase1key) in iwl_update_tkip_key() argument
1138 u8 sta_id = iwlagn_key_sta_id(priv, vif, sta); in iwl_update_tkip_key()
1156 struct ieee80211_sta *sta) in iwl_remove_dynamic_key() argument
1159 u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); in iwl_remove_dynamic_key()
1167 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(sta_cmd)); in iwl_remove_dynamic_key()
1195 sta_cmd.sta.modify_mask = STA_MODIFY_KEY_MASK; in iwl_remove_dynamic_key()
1204 struct ieee80211_sta *sta) in iwl_set_dynamic_key() argument
1209 u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); in iwl_set_dynamic_key()
1225 if (sta) in iwl_set_dynamic_key()
1226 addr = sta->addr; in iwl_set_dynamic_key()
1254 sta ? sta->addr : NULL, ret); in iwl_set_dynamic_key()
1353 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_TID_DISABLE_TX; in iwl_sta_tx_modify_enable_tid()
1354 priv->stations[sta_id].sta.tid_disable_tx &= cpu_to_le16(~(1 << tid)); in iwl_sta_tx_modify_enable_tid()
1355 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_tx_modify_enable_tid()
1356 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_tx_modify_enable_tid()
1362 int iwl_sta_rx_agg_start(struct iwl_priv *priv, struct ieee80211_sta *sta, in iwl_sta_rx_agg_start() argument
1370 sta_id = iwl_sta_id(sta); in iwl_sta_rx_agg_start()
1375 priv->stations[sta_id].sta.station_flags_msk = 0; in iwl_sta_rx_agg_start()
1376 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_ADDBA_TID_MSK; in iwl_sta_rx_agg_start()
1377 priv->stations[sta_id].sta.add_immediate_ba_tid = (u8)tid; in iwl_sta_rx_agg_start()
1378 priv->stations[sta_id].sta.add_immediate_ba_ssn = cpu_to_le16(ssn); in iwl_sta_rx_agg_start()
1379 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_rx_agg_start()
1380 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_rx_agg_start()
1386 int iwl_sta_rx_agg_stop(struct iwl_priv *priv, struct ieee80211_sta *sta, in iwl_sta_rx_agg_stop() argument
1394 sta_id = iwl_sta_id(sta); in iwl_sta_rx_agg_stop()
1401 priv->stations[sta_id].sta.station_flags_msk = 0; in iwl_sta_rx_agg_stop()
1402 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_DELBA_TID_MSK; in iwl_sta_rx_agg_stop()
1403 priv->stations[sta_id].sta.remove_immediate_ba_tid = (u8)tid; in iwl_sta_rx_agg_stop()
1404 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_rx_agg_stop()
1405 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_rx_agg_stop()
1419 .sta.sta_id = sta_id, in iwl_sta_modify_sleep_tx_count()
1420 .sta.modify_mask = STA_MODIFY_SLEEP_TX_COUNT_MSK, in iwl_sta_modify_sleep_tx_count()