Lines Matching refs:arvif
1658 static void ath10k_wmi_tx_beacon_nowait(struct ath10k_vif *arvif) in ath10k_wmi_tx_beacon_nowait() argument
1660 struct ath10k *ar = arvif->ar; in ath10k_wmi_tx_beacon_nowait()
1667 bcn = arvif->beacon; in ath10k_wmi_tx_beacon_nowait()
1674 switch (arvif->beacon_state) { in ath10k_wmi_tx_beacon_nowait()
1679 arvif->beacon_state = ATH10K_BEACON_SENDING; in ath10k_wmi_tx_beacon_nowait()
1682 ret = ath10k_wmi_beacon_send_ref_nowait(arvif->ar, in ath10k_wmi_tx_beacon_nowait()
1683 arvif->vdev_id, in ath10k_wmi_tx_beacon_nowait()
1692 arvif->beacon_state = ATH10K_BEACON_SENT; in ath10k_wmi_tx_beacon_nowait()
1694 arvif->beacon_state = ATH10K_BEACON_SCHEDULED; in ath10k_wmi_tx_beacon_nowait()
1704 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_wmi_tx_beacons_iter() local
1706 ath10k_wmi_tx_beacon_nowait(arvif); in ath10k_wmi_tx_beacons_iter()
3033 struct ath10k_vif *arvif, in ath10k_wmi_update_tim() argument
3054 if (sizeof(arvif->u.ap.tim_bitmap) < tim_len) { in ath10k_wmi_update_tim()
3056 tim_len, sizeof(arvif->u.ap.tim_bitmap)); in ath10k_wmi_update_tim()
3057 tim_len = sizeof(arvif->u.ap.tim_bitmap); in ath10k_wmi_update_tim()
3063 arvif->u.ap.tim_bitmap[i] = (v >> ((i % 4) * 8)) & 0xFF; in ath10k_wmi_update_tim()
3069 arvif->u.ap.tim_len = 0; in ath10k_wmi_update_tim()
3071 if (arvif->u.ap.tim_bitmap[i]) in ath10k_wmi_update_tim()
3072 arvif->u.ap.tim_len = i; in ath10k_wmi_update_tim()
3074 arvif->u.ap.tim_len++; in ath10k_wmi_update_tim()
3084 if (arvif->vdev_type != WMI_VDEV_TYPE_IBSS) in ath10k_wmi_update_tim()
3093 if (pvm_len < arvif->u.ap.tim_len) { in ath10k_wmi_update_tim()
3115 memcpy(tim->virtual_map, arvif->u.ap.tim_bitmap, pvm_len); in ath10k_wmi_update_tim()
3129 static void ath10k_wmi_update_noa(struct ath10k *ar, struct ath10k_vif *arvif, in ath10k_wmi_update_noa() argument
3133 if (arvif->vdev_subtype != WMI_VDEV_SUBTYPE_P2P_GO) in ath10k_wmi_update_noa()
3139 ath10k_p2p_noa_update(arvif, noa); in ath10k_wmi_update_noa()
3141 if (arvif->u.ap.noa_data) in ath10k_wmi_update_noa()
3142 if (!pskb_expand_head(bcn, 0, arvif->u.ap.noa_len, GFP_ATOMIC)) in ath10k_wmi_update_noa()
3143 memcpy(skb_put(bcn, arvif->u.ap.noa_len), in ath10k_wmi_update_noa()
3144 arvif->u.ap.noa_data, in ath10k_wmi_update_noa()
3145 arvif->u.ap.noa_len); in ath10k_wmi_update_noa()
3262 struct ath10k_vif *arvif; in ath10k_wmi_event_host_swba() local
3308 arvif = ath10k_get_arvif(ar, vdev_id); in ath10k_wmi_event_host_swba()
3309 if (arvif == NULL) { in ath10k_wmi_event_host_swba()
3320 if (arvif->vif->csa_active && in ath10k_wmi_event_host_swba()
3321 ieee80211_csa_is_complete(arvif->vif)) { in ath10k_wmi_event_host_swba()
3322 ieee80211_csa_finish(arvif->vif); in ath10k_wmi_event_host_swba()
3326 bcn = ieee80211_beacon_get(ar->hw, arvif->vif); in ath10k_wmi_event_host_swba()
3332 ath10k_tx_h_seq_no(arvif->vif, bcn); in ath10k_wmi_event_host_swba()
3333 ath10k_wmi_update_tim(ar, arvif, bcn, tim_info); in ath10k_wmi_event_host_swba()
3334 ath10k_wmi_update_noa(ar, arvif, bcn, noa_info); in ath10k_wmi_event_host_swba()
3338 if (arvif->beacon) { in ath10k_wmi_event_host_swba()
3339 switch (arvif->beacon_state) { in ath10k_wmi_event_host_swba()
3344 arvif->vdev_id); in ath10k_wmi_event_host_swba()
3348 arvif->vdev_id); in ath10k_wmi_event_host_swba()
3353 ath10k_mac_vif_beacon_free(arvif); in ath10k_wmi_event_host_swba()
3356 if (!arvif->beacon_buf) { in ath10k_wmi_event_host_swba()
3357 paddr = dma_map_single(arvif->ar->dev, bcn->data, in ath10k_wmi_event_host_swba()
3359 ret = dma_mapping_error(arvif->ar->dev, paddr); in ath10k_wmi_event_host_swba()
3375 memcpy(arvif->beacon_buf, bcn->data, bcn->len); in ath10k_wmi_event_host_swba()
3376 ATH10K_SKB_CB(bcn)->paddr = arvif->beacon_paddr; in ath10k_wmi_event_host_swba()
3379 arvif->beacon = bcn; in ath10k_wmi_event_host_swba()
3380 arvif->beacon_state = ATH10K_BEACON_SCHEDULED; in ath10k_wmi_event_host_swba()