Lines Matching full:beacon

86 		 * is an AP, and the beacon interval of the AP is a multiple or  in iwl_mvm_mac_tsf_id_iter()
87 * divisor of the beacon interval of the client, the same TSF in iwl_mvm_mac_tsf_id_iter()
112 * The new interface is AP/GO, so if its beacon interval is a in iwl_mvm_mac_tsf_id_iter()
113 * multiple or a divisor of the beacon interval of an existing in iwl_mvm_mac_tsf_id_iter()
603 * more beacon intervals happen until the DTIM TBTT. Therefore in iwl_mvm_set_fw_dtim_tbtt()
788 /* TODO: Assumes that the beacon id == mac context id */ in iwl_mvm_mac_ctxt_cmd_ibss()
849 u8 *beacon, u32 frame_size) in iwl_mvm_mac_ctxt_set_tim() argument
852 struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)beacon; in iwl_mvm_mac_ctxt_set_tim()
855 * variable-length part of the beacon. */ in iwl_mvm_mac_ctxt_set_tim()
856 tim_idx = mgmt->u.beacon.variable - beacon; in iwl_mvm_mac_ctxt_set_tim()
858 /* Parse variable-length elements of beacon to find WLAN_EID_TIM */ in iwl_mvm_mac_ctxt_set_tim()
860 (beacon[tim_idx] != WLAN_EID_TIM)) in iwl_mvm_mac_ctxt_set_tim()
861 tim_idx += beacon[tim_idx+1] + 2; in iwl_mvm_mac_ctxt_set_tim()
864 if ((tim_idx < (frame_size - 1)) && (beacon[tim_idx] == WLAN_EID_TIM)) { in iwl_mvm_mac_ctxt_set_tim()
866 *tim_size = cpu_to_le32((u32)beacon[tim_idx + 1]); in iwl_mvm_mac_ctxt_set_tim()
868 IWL_WARN(mvm, "Unable to find TIM Element in beacon\n"); in iwl_mvm_mac_ctxt_set_tim()
959 /* if beacon rate was configured try using it */ in iwl_mvm_mac_ctxt_get_beacon_rate()
971 struct sk_buff *beacon, in iwl_mvm_mac_ctxt_set_tx() argument
979 info = IEEE80211_SKB_CB(beacon); in iwl_mvm_mac_ctxt_set_tx()
982 tx->len = cpu_to_le16((u16)beacon->len); in iwl_mvm_mac_ctxt_set_tx()
987 iwl_mvm_bt_coex_tx_prio(mvm, (void *)beacon->data, info, 0) << in iwl_mvm_mac_ctxt_set_tx()
1010 struct sk_buff *beacon, in iwl_mvm_mac_ctxt_send_beacon_cmd() argument
1021 cmd.len[1] = beacon->len; in iwl_mvm_mac_ctxt_send_beacon_cmd()
1022 cmd.data[1] = beacon->data; in iwl_mvm_mac_ctxt_send_beacon_cmd()
1030 struct sk_buff *beacon) in iwl_mvm_mac_ctxt_send_beacon_v6() argument
1035 iwl_mvm_mac_ctxt_set_tx(mvm, vif, beacon, &beacon_cmd.tx); in iwl_mvm_mac_ctxt_send_beacon_v6()
1042 beacon->data, beacon->len); in iwl_mvm_mac_ctxt_send_beacon_v6()
1044 return iwl_mvm_mac_ctxt_send_beacon_cmd(mvm, beacon, &beacon_cmd, in iwl_mvm_mac_ctxt_send_beacon_v6()
1050 struct sk_buff *beacon) in iwl_mvm_mac_ctxt_send_beacon_v7() argument
1055 iwl_mvm_mac_ctxt_set_tx(mvm, vif, beacon, &beacon_cmd.tx); in iwl_mvm_mac_ctxt_send_beacon_v7()
1062 beacon->data, beacon->len); in iwl_mvm_mac_ctxt_send_beacon_v7()
1065 cpu_to_le32(iwl_find_ie_offset(beacon->data, in iwl_mvm_mac_ctxt_send_beacon_v7()
1067 beacon->len)); in iwl_mvm_mac_ctxt_send_beacon_v7()
1069 cpu_to_le32(iwl_find_ie_offset(beacon->data, in iwl_mvm_mac_ctxt_send_beacon_v7()
1071 beacon->len)); in iwl_mvm_mac_ctxt_send_beacon_v7()
1073 return iwl_mvm_mac_ctxt_send_beacon_cmd(mvm, beacon, &beacon_cmd, in iwl_mvm_mac_ctxt_send_beacon_v7()
1093 struct sk_buff *beacon, in iwl_mvm_mac_ctxt_send_beacon_v9() argument
1097 struct ieee80211_tx_info *info = IEEE80211_SKB_CB(beacon); in iwl_mvm_mac_ctxt_send_beacon_v9()
1122 beacon_cmd.byte_cnt = cpu_to_le16((u16)beacon->len); in iwl_mvm_mac_ctxt_send_beacon_v9()
1136 beacon->data, beacon->len); in iwl_mvm_mac_ctxt_send_beacon_v9()
1139 cpu_to_le32(iwl_find_ie_offset(beacon->data, in iwl_mvm_mac_ctxt_send_beacon_v9()
1141 beacon->len)); in iwl_mvm_mac_ctxt_send_beacon_v9()
1143 cpu_to_le32(iwl_find_ie_offset(beacon->data, in iwl_mvm_mac_ctxt_send_beacon_v9()
1145 beacon->len)); in iwl_mvm_mac_ctxt_send_beacon_v9()
1150 cpu_to_le32(iwl_find_ie_offset(beacon->data, in iwl_mvm_mac_ctxt_send_beacon_v9()
1152 beacon->len)); in iwl_mvm_mac_ctxt_send_beacon_v9()
1154 return iwl_mvm_mac_ctxt_send_beacon_cmd(mvm, beacon, &beacon_cmd, in iwl_mvm_mac_ctxt_send_beacon_v9()
1160 struct sk_buff *beacon, in iwl_mvm_mac_ctxt_send_beacon() argument
1163 if (WARN_ON(!beacon)) in iwl_mvm_mac_ctxt_send_beacon()
1171 return iwl_mvm_mac_ctxt_send_beacon_v6(mvm, vif, beacon); in iwl_mvm_mac_ctxt_send_beacon()
1175 return iwl_mvm_mac_ctxt_send_beacon_v9(mvm, vif, beacon, in iwl_mvm_mac_ctxt_send_beacon()
1178 return iwl_mvm_mac_ctxt_send_beacon_v7(mvm, vif, beacon); in iwl_mvm_mac_ctxt_send_beacon()
1181 /* The beacon template for the AP/GO/IBSS has changed and needs update */
1186 struct sk_buff *beacon; in iwl_mvm_mac_ctxt_beacon_changed() local
1192 beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL, in iwl_mvm_mac_ctxt_beacon_changed()
1194 if (!beacon) in iwl_mvm_mac_ctxt_beacon_changed()
1199 dev_kfree_skb(beacon); in iwl_mvm_mac_ctxt_beacon_changed()
1204 ret = iwl_mvm_mac_ctxt_send_beacon(mvm, vif, beacon, link_conf); in iwl_mvm_mac_ctxt_beacon_changed()
1205 dev_kfree_skb(beacon); in iwl_mvm_mac_ctxt_beacon_changed()
1290 * Only set the beacon time when the MAC is being added, when we in iwl_mvm_mac_ctxt_cmd_fill_ap()
1317 /* TODO: Assume that the beacon id == mac context id */ in iwl_mvm_mac_ctxt_cmd_fill_ap()
1462 /* Don't start to countdown from a failed beacon */ in iwl_mvm_csa_count_down()
1498 struct iwl_extended_beacon_notif *beacon = (void *)pkt->data; in iwl_mvm_rx_beacon_notif() local
1507 mvm->ap_last_beacon_gp2 = le32_to_cpu(beacon->gp2); in iwl_mvm_rx_beacon_notif()
1520 "beacon status %#x retries:%d tsf:0x%016llX gp2:0x%X rate:%d\n", in iwl_mvm_rx_beacon_notif()
1522 le64_to_cpu(beacon->tsf), in iwl_mvm_rx_beacon_notif()
1526 if (unlikely(pkt_len < sizeof(*beacon))) in iwl_mvm_rx_beacon_notif()
1529 mvm->ibss_manager = beacon->ibss_mgr_status != 0; in iwl_mvm_rx_beacon_notif()
1530 status = le32_to_cpu(beacon->status) & TX_STATUS_MSK; in iwl_mvm_rx_beacon_notif()
1532 "beacon status %#x tsf:0x%016llX gp2:0x%X\n", in iwl_mvm_rx_beacon_notif()
1533 status, le64_to_cpu(beacon->tsf), in iwl_mvm_rx_beacon_notif()
1551 * stations. If this is the first beacon (the timeout wasn't in iwl_mvm_rx_beacon_notif()
1624 IWL_DEBUG_INFO(mvm, "missed beacon mac_type=%u,\n", mac_type); in iwl_mvm_handle_missed_beacons_notif()
1982 iwl_mvm_connection_loss(mvm, vif, "missed vap beacon"); in iwl_mvm_rx_missed_vap_notif()