Lines Matching refs:sta

48 			sta_id, priv->stations[sta_id].sta.sta.addr);  in iwl_sta_ucode_activate()
54 sta_id, priv->stations[sta_id].sta.sta.addr); in iwl_sta_ucode_activate()
58 sta_id, priv->stations[sta_id].sta.sta.addr); in iwl_sta_ucode_activate()
68 u8 sta_id = addsta->sta.sta_id; in iwl_process_add_sta_resp()
106 priv->stations[sta_id].sta.mode == in iwl_process_add_sta_resp()
108 sta_id, priv->stations[sta_id].sta.sta.addr); in iwl_process_add_sta_resp()
119 priv->stations[sta_id].sta.mode == in iwl_process_add_sta_resp()
121 addsta->sta.addr); in iwl_process_add_sta_resp()
139 struct iwl_addsta_cmd *sta, u8 flags) in iwl_send_add_sta() argument
145 .data = { sta, }, in iwl_send_add_sta()
146 .len = { sizeof(*sta), }, in iwl_send_add_sta()
148 u8 sta_id __maybe_unused = sta->sta.sta_id; in iwl_send_add_sta()
151 sta_id, sta->sta.addr, flags & CMD_ASYNC ? "a" : ""); in iwl_send_add_sta()
176 struct ieee80211_sta *sta) in iwl_is_ht40_tx_allowed() argument
187 if (!sta) in iwl_is_ht40_tx_allowed()
190 return sta->bandwidth >= IEEE80211_STA_RX_BW_40; in iwl_is_ht40_tx_allowed()
194 struct ieee80211_sta *sta, in iwl_sta_calc_ht_flags() argument
198 struct ieee80211_sta_ht_cap *sta_ht_inf = &sta->ht_cap; in iwl_sta_calc_ht_flags()
207 if (!sta || !sta_ht_inf->ht_supported) in iwl_sta_calc_ht_flags()
211 sta->addr, in iwl_sta_calc_ht_flags()
212 (sta->smps_mode == IEEE80211_SMPS_STATIC) ? in iwl_sta_calc_ht_flags()
214 (sta->smps_mode == IEEE80211_SMPS_DYNAMIC) ? in iwl_sta_calc_ht_flags()
217 switch (sta->smps_mode) { in iwl_sta_calc_ht_flags()
227 IWL_WARN(priv, "Invalid MIMO PS mode %d\n", sta->smps_mode); in iwl_sta_calc_ht_flags()
237 if (iwl_is_ht40_tx_allowed(priv, ctx, sta)) in iwl_sta_calc_ht_flags()
242 struct ieee80211_sta *sta) in iwl_sta_update_ht() argument
244 u8 sta_id = iwl_sta_id(sta); in iwl_sta_update_ht()
251 iwl_sta_calc_ht_flags(priv, sta, ctx, &flags, &mask); in iwl_sta_update_ht()
254 priv->stations[sta_id].sta.station_flags &= ~mask; in iwl_sta_update_ht()
255 priv->stations[sta_id].sta.station_flags |= flags; in iwl_sta_update_ht()
262 cmd.sta.sta_id = sta_id; in iwl_sta_update_ht()
268 struct ieee80211_sta *sta, in iwl_set_ht_add_station() argument
273 iwl_sta_calc_ht_flags(priv, sta, ctx, &flags, &mask); in iwl_set_ht_add_station()
276 priv->stations[index].sta.station_flags &= ~mask; in iwl_set_ht_add_station()
277 priv->stations[index].sta.station_flags |= flags; in iwl_set_ht_add_station()
286 const u8 *addr, bool is_ap, struct ieee80211_sta *sta) in iwl_prep_station() argument
298 if (ether_addr_equal(priv->stations[i].sta.sta.addr, in iwl_prep_station()
329 ether_addr_equal(priv->stations[sta_id].sta.sta.addr, addr)) { in iwl_prep_station()
342 memset(&station->sta, 0, sizeof(struct iwl_addsta_cmd)); in iwl_prep_station()
343 memcpy(station->sta.sta.addr, addr, ETH_ALEN); in iwl_prep_station()
344 station->sta.mode = 0; in iwl_prep_station()
345 station->sta.sta.sta_id = sta_id; in iwl_prep_station()
346 station->sta.station_flags = ctx->station_flags; in iwl_prep_station()
349 if (sta) { in iwl_prep_station()
352 sta_priv = (void *)sta->drv_priv; in iwl_prep_station()
361 iwl_set_ht_add_station(priv, sta_id, sta, ctx); in iwl_prep_station()
374 struct ieee80211_sta *sta, u8 *sta_id_r) in iwl_add_station_common() argument
382 sta_id = iwl_prep_station(priv, ctx, addr, is_ap, sta); in iwl_add_station_common()
411 memcpy(&sta_cmd, &priv->stations[sta_id].sta, in iwl_add_station_common()
420 priv->stations[sta_id].sta.sta.addr); in iwl_add_station_common()
719 priv->stations[i].sta.sta.addr); in iwl_restore_stations()
720 priv->stations[i].sta.mode = 0; in iwl_restore_stations()
728 memcpy(&sta_cmd, &priv->stations[i].sta, in iwl_restore_stations()
746 priv->stations[i].sta.sta.addr); in iwl_restore_stations()
1112 struct ieee80211_sta *sta) in iwlagn_key_sta_id() argument
1116 if (sta) in iwlagn_key_sta_id()
1117 return iwl_sta_id(sta); in iwlagn_key_sta_id()
1140 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(sta_cmd)); in iwlagn_send_sta_key()
1178 sta_cmd.sta.modify_mask = STA_MODIFY_KEY_MASK; in iwlagn_send_sta_key()
1186 struct ieee80211_sta *sta, u32 iv32, u16 *phase1key) in iwl_update_tkip_key() argument
1188 u8 sta_id = iwlagn_key_sta_id(priv, vif, sta); in iwl_update_tkip_key()
1206 struct ieee80211_sta *sta) in iwl_remove_dynamic_key() argument
1209 u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); in iwl_remove_dynamic_key()
1217 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(sta_cmd)); in iwl_remove_dynamic_key()
1245 sta_cmd.sta.modify_mask = STA_MODIFY_KEY_MASK; in iwl_remove_dynamic_key()
1254 struct ieee80211_sta *sta) in iwl_set_dynamic_key() argument
1259 u8 sta_id = iwlagn_key_sta_id(priv, ctx->vif, sta); in iwl_set_dynamic_key()
1275 if (sta) in iwl_set_dynamic_key()
1276 addr = sta->addr; in iwl_set_dynamic_key()
1304 sta ? sta->addr : NULL, ret); in iwl_set_dynamic_key()
1403 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_TID_DISABLE_TX; in iwl_sta_tx_modify_enable_tid()
1404 priv->stations[sta_id].sta.tid_disable_tx &= cpu_to_le16(~(1 << tid)); in iwl_sta_tx_modify_enable_tid()
1405 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_tx_modify_enable_tid()
1406 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_tx_modify_enable_tid()
1412 int iwl_sta_rx_agg_start(struct iwl_priv *priv, struct ieee80211_sta *sta, in iwl_sta_rx_agg_start() argument
1420 sta_id = iwl_sta_id(sta); in iwl_sta_rx_agg_start()
1425 priv->stations[sta_id].sta.station_flags_msk = 0; in iwl_sta_rx_agg_start()
1426 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_ADDBA_TID_MSK; in iwl_sta_rx_agg_start()
1427 priv->stations[sta_id].sta.add_immediate_ba_tid = (u8)tid; in iwl_sta_rx_agg_start()
1428 priv->stations[sta_id].sta.add_immediate_ba_ssn = cpu_to_le16(ssn); in iwl_sta_rx_agg_start()
1429 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_rx_agg_start()
1430 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_rx_agg_start()
1436 int iwl_sta_rx_agg_stop(struct iwl_priv *priv, struct ieee80211_sta *sta, in iwl_sta_rx_agg_stop() argument
1444 sta_id = iwl_sta_id(sta); in iwl_sta_rx_agg_stop()
1451 priv->stations[sta_id].sta.station_flags_msk = 0; in iwl_sta_rx_agg_stop()
1452 priv->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_DELBA_TID_MSK; in iwl_sta_rx_agg_stop()
1453 priv->stations[sta_id].sta.remove_immediate_ba_tid = (u8)tid; in iwl_sta_rx_agg_stop()
1454 priv->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK; in iwl_sta_rx_agg_stop()
1455 memcpy(&sta_cmd, &priv->stations[sta_id].sta, sizeof(struct iwl_addsta_cmd)); in iwl_sta_rx_agg_stop()
1469 .sta.sta_id = sta_id, in iwl_sta_modify_sleep_tx_count()
1470 .sta.modify_mask = STA_MODIFY_SLEEP_TX_COUNT_MSK, in iwl_sta_modify_sleep_tx_count()