Lines Matching refs:wlvif

145 					  struct wl12xx_vif *wlvif)
160 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
161 ret = wl1271_cmd_template_set(wl, wlvif->role_id,
173 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
193 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
194 ret = wl1271_cmd_template_set(wl, wlvif->role_id,
206 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
226 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
227 ret = wl1271_cmd_template_set(wl, wlvif->role_id,
248 struct wl12xx_vif *wlvif)
252 ret = wl1271_acx_slot(wl, wlvif, DEFAULT_SLOT_TIME);
256 ret = wl1271_acx_service_period_timeout(wl, wlvif);
260 ret = wl1271_acx_rts_threshold(wl, wlvif, wl->hw->wiphy->rts_threshold);
268 struct wl12xx_vif *wlvif)
272 ret = wl1271_acx_beacon_filter_table(wl, wlvif);
277 ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
311 struct wl12xx_vif *wlvif)
315 ret = wl1271_acx_bcn_dtim_options(wl, wlvif);
337 int wl1271_sta_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif)
342 ret = wl12xx_acx_config_ps(wl, wlvif);
351 ret = wl1271_acx_sta_rate_policies(wl, wlvif);
361 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
365 ret = wl1271_acx_keep_alive_mode(wl, wlvif, false);
373 static int wl1271_ap_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif)
377 ret = wl1271_init_ap_rates(wl, wlvif);
391 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
394 ret = wl1271_ap_init_deauth_template(wl, wlvif);
410 ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
423 int wl1271_init_ap_rates(struct wl1271 *wl, struct wl12xx_vif *wlvif)
430 wlvif->basic_rate_set);
432 if (wlvif->basic_rate_set == 0)
435 rc.enabled_rates = wlvif->basic_rate_set;
439 ret = wl1271_acx_ap_rate_policy(wl, &rc, wlvif->ap.mgmt_rate_idx);
444 rc.enabled_rates = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
448 ret = wl1271_acx_ap_rate_policy(wl, &rc, wlvif->ap.bcast_rate_idx);
456 if (wl->ofdm_only_ap && (wlvif->basic_rate_set & CONF_TX_OFDM_RATES))
465 supported_rates |= wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif);
474 wlvif->ap.ucast_rate_idx[i]);
482 static int wl1271_set_ba_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
485 wlvif->ba_allowed = true;
489 if (wlvif->bss_type != BSS_TYPE_AP_BSS &&
490 wlvif->bss_type != BSS_TYPE_STA_BSS) {
491 wlvif->ba_support = false;
495 wlvif->ba_support = true;
498 return wl12xx_acx_set_ba_initiator_policy(wl, wlvif);
502 static int wl12xx_init_sta_role(struct wl1271 *wl, struct wl12xx_vif *wlvif)
506 ret = wl1271_acx_group_address_tbl(wl, wlvif, true, NULL, 0);
511 ret = wl1271_acx_conn_monit_params(wl, wlvif, false);
516 ret = wl1271_init_sta_beacon_filter(wl, wlvif);
521 ret = wl1271_init_beacon_broadcast(wl, wlvif);
526 ret = wl1271_acx_rssi_snr_avg_weights(wl, wlvif);
534 static int wl12xx_init_ap_role(struct wl1271 *wl, struct wl12xx_vif *wlvif)
538 ret = wl1271_acx_ap_max_tx_retry(wl, wlvif);
543 ret = wl1271_acx_tx_power(wl, wlvif, wlvif->power_level);
548 wlcore_cmd_generic_cfg(wl, wlvif,
557 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
560 bool is_ap = (wlvif->bss_type == BSS_TYPE_AP_BSS);
591 ret = wl1271_ap_hw_init(wl, wlvif);
595 ret = wl12xx_init_ap_role(wl, wlvif);
599 ret = wl1271_sta_hw_init(wl, wlvif);
603 ret = wl12xx_init_sta_role(wl, wlvif);
608 wl12xx_init_phy_vif_config(wl, wlvif);
614 ret = wl1271_acx_ac_cfg(wl, wlvif, conf_ac->ac,
621 ret = wl1271_acx_tid_cfg(wl, wlvif,
634 ret = wl1271_acx_feature_cfg(wl, wlvif);
648 ret = wl1271_set_ba_policies(wl, wlvif);
652 ret = wlcore_hw_init_vif(wl, wlvif);