/drivers/net/wireless/ti/wlcore/ |
D | main.c | 44 static void wl1271_free_ap_keys(struct wl1271 *wl, struct wl12xx_vif *wlvif); 46 static int wl12xx_set_authorized(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl12xx_set_authorized() argument 50 if (WARN_ON(wlvif->bss_type != BSS_TYPE_STA_BSS)) in wl12xx_set_authorized() 53 if (!test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) in wl12xx_set_authorized() 56 if (test_and_set_bit(WLVIF_FLAG_STA_STATE_SENT, &wlvif->flags)) in wl12xx_set_authorized() 59 ret = wl12xx_cmd_set_peer_state(wl, wlvif, wlvif->sta.hlid); in wl12xx_set_authorized() 80 static int wl1271_set_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_set_rx_streaming() argument 86 ret = wl1271_acx_ps_rx_streaming(wl, wlvif, enable); in wl1271_set_rx_streaming() 91 set_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags); in wl1271_set_rx_streaming() 93 clear_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags); in wl1271_set_rx_streaming() [all …]
|
D | cmd.c | 310 int wl12xx_allocate_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid) in wl12xx_allocate_link() argument 322 __set_bit(link, wlvif->links_map); in wl12xx_allocate_link() 333 wl->links[link].wlvif = wlvif; in wl12xx_allocate_link() 339 if (wlvif->bss_type != BSS_TYPE_AP_BSS) in wl12xx_allocate_link() 340 wl->links[link].total_freed_pkts = wlvif->total_freed_pkts; in wl12xx_allocate_link() 348 void wl12xx_free_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid) in wl12xx_free_link() argument 358 __clear_bit(*hlid, wlvif->links_map); in wl12xx_free_link() 371 wl->links[*hlid].wlvif = NULL; in wl12xx_free_link() 373 if (wlvif->bss_type == BSS_TYPE_AP_BSS && in wl12xx_free_link() 374 *hlid == wlvif->ap.bcast_hlid) { in wl12xx_free_link() [all …]
|
D | init.c | 145 struct wl12xx_vif *wlvif) in wl1271_ap_init_deauth_template() argument 160 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); in wl1271_ap_init_deauth_template() 161 ret = wl1271_cmd_template_set(wl, wlvif->role_id, in wl1271_ap_init_deauth_template() 173 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wl1271_ap_init_null_template() local 193 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); in wl1271_ap_init_null_template() 194 ret = wl1271_cmd_template_set(wl, wlvif->role_id, in wl1271_ap_init_null_template() 206 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wl1271_ap_init_qos_null_template() local 226 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); in wl1271_ap_init_qos_null_template() 227 ret = wl1271_cmd_template_set(wl, wlvif->role_id, in wl1271_ap_init_qos_null_template() 248 struct wl12xx_vif *wlvif) in wl12xx_init_phy_vif_config() argument [all …]
|
D | tx.c | 31 struct wl12xx_vif *wlvif, u8 id) in wl1271_set_default_wep_key() argument 34 bool is_ap = (wlvif->bss_type == BSS_TYPE_AP_BSS); in wl1271_set_default_wep_key() 38 wlvif->ap.bcast_hlid); in wl1271_set_default_wep_key() 40 ret = wl12xx_cmd_set_default_wep_key(wl, id, wlvif->sta.hlid); in wl1271_set_default_wep_key() 76 struct wl12xx_vif *wlvif, in wl1271_tx_ap_update_inconnection_sta() argument 91 wl1271_acx_set_inconnection_sta(wl, wlvif, hdr->addr1); in wl1271_tx_ap_update_inconnection_sta() 98 wlcore_update_inconn_sta(wl, wlvif, NULL, true); in wl1271_tx_ap_update_inconnection_sta() 99 wlvif->pending_auth_reply_time = jiffies; in wl1271_tx_ap_update_inconnection_sta() 100 cancel_delayed_work(&wlvif->pending_auth_complete_work); in wl1271_tx_ap_update_inconnection_sta() 102 &wlvif->pending_auth_complete_work, in wl1271_tx_ap_update_inconnection_sta() [all …]
|
D | event.c | 111 struct wl12xx_vif *wlvif; in wlcore_event_rssi_trigger() local 119 wl12xx_for_each_wlvif_sta(wl, wlvif) { in wlcore_event_rssi_trigger() 120 if (metric <= wlvif->rssi_thold) in wlcore_event_rssi_trigger() 125 vif = wl12xx_wlvif_to_vif(wlvif); in wlcore_event_rssi_trigger() 126 if (event != wlvif->last_rssi_event) in wlcore_event_rssi_trigger() 129 wlvif->last_rssi_event = event; in wlcore_event_rssi_trigger() 134 static void wl1271_stop_ba_event(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl1271_stop_ba_event() argument 136 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); in wl1271_stop_ba_event() 138 if (wlvif->bss_type != BSS_TYPE_AP_BSS) { in wl1271_stop_ba_event() 139 u8 hlid = wlvif->sta.hlid; in wl1271_stop_ba_event() [all …]
|
D | ps.c | 15 int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_ps_set_mode() argument 27 ret = wl1271_acx_wake_up_conditions(wl, wlvif, in wl1271_ps_set_mode() 35 ret = wl1271_cmd_ps_mode(wl, wlvif, mode, timeout); in wl1271_ps_set_mode() 39 set_bit(WLVIF_FLAG_IN_PS, &wlvif->flags); in wl1271_ps_set_mode() 45 if ((wlvif->band == NL80211_BAND_2GHZ) && in wl1271_ps_set_mode() 46 (wlvif->basic_rate < CONF_HW_BIT_RATE_9MBPS)) { in wl1271_ps_set_mode() 47 ret = wl1271_acx_bet_enable(wl, wlvif, true); in wl1271_ps_set_mode() 56 if ((wlvif->band == NL80211_BAND_2GHZ) && in wl1271_ps_set_mode() 57 (wlvif->basic_rate < CONF_HW_BIT_RATE_9MBPS)) { in wl1271_ps_set_mode() 58 ret = wl1271_acx_bet_enable(wl, wlvif, false); in wl1271_ps_set_mode() [all …]
|
D | acx.c | 22 int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_acx_wake_up_conditions() argument 37 wake_up->role_id = wlvif->role_id; in wl1271_acx_wake_up_conditions() 82 int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_acx_tx_power() argument 99 acx->role_id = wlvif->role_id; in wl1271_acx_tx_power() 113 int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl1271_acx_feature_cfg() argument 127 feature->role_id = wlvif->role_id; in wl1271_acx_feature_cfg() 184 int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_acx_slot() argument 198 slot->role_id = wlvif->role_id; in wl1271_acx_slot() 213 int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_acx_group_address_tbl() argument 228 acx->role_id = wlvif->role_id; in wl1271_acx_group_address_tbl() [all …]
|
D | wlcore_i.h | 275 struct wl12xx_vif *wlvif; member 500 struct ieee80211_vif *wl12xx_wlvif_to_vif(struct wl12xx_vif *wlvif) in wl12xx_wlvif_to_vif() argument 502 return container_of((void *)wlvif, struct ieee80211_vif, drv_priv); in wl12xx_wlvif_to_vif() 505 static inline bool wlcore_is_p2p_mgmt(struct wl12xx_vif *wlvif) in wlcore_is_p2p_mgmt() argument 507 return wl12xx_wlvif_to_vif(wlvif)->type == NL80211_IFTYPE_P2P_DEVICE; in wlcore_is_p2p_mgmt() 510 #define wl12xx_for_each_wlvif(wl, wlvif) \ argument 511 list_for_each_entry(wlvif, &wl->wlvif_list, list) 513 #define wl12xx_for_each_wlvif_continue(wl, wlvif) \ argument 514 list_for_each_entry_continue(wlvif, &wl->wlvif_list, list) 516 #define wl12xx_for_each_wlvif_bss_type(wl, wlvif, _bss_type) \ argument [all …]
|
D | cmd.h | 23 int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif); 24 int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif); 25 int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif); 26 int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif); 27 int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif); 28 int wl12xx_start_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif, 30 int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif); 38 int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, 45 int wl12xx_cmd_build_null_data(struct wl1271 *wl, struct wl12xx_vif *wlvif); 46 int wl1271_cmd_build_ps_poll(struct wl1271 *wl, struct wl12xx_vif *wlvif, [all …]
|
D | acx.h | 1030 struct wl12xx_vif *wlvif, 1033 int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1035 int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif); 1039 int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1041 int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1044 struct wl12xx_vif *wlvif); 1045 int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1048 int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1051 struct wl12xx_vif *wlvif); 1052 int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif, [all …]
|
D | tx.h | 201 int wlcore_tx_get_mac80211_queue(struct wl12xx_vif *wlvif, int queue) in wlcore_tx_get_mac80211_queue() argument 203 int mac_queue = wlvif->hw_queue_base; in wlcore_tx_get_mac80211_queue() 232 void wl12xx_tx_reset_wlvif(struct wl1271 *wl, struct wl12xx_vif *wlvif); 239 u8 wl12xx_tx_get_hlid(struct wl1271 *wl, struct wl12xx_vif *wlvif, 248 void wlcore_stop_queue_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif, 250 void wlcore_stop_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue, 252 void wlcore_wake_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue, 259 struct wl12xx_vif *wlvif, u8 queue, 263 struct wl12xx_vif *wlvif, 266 bool wlcore_is_queue_stopped_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif, [all …]
|
D | hw_ops.h | 87 wlcore_hw_init_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wlcore_hw_init_vif() argument 90 return wl->ops->init_vif(wl, wlvif); in wlcore_hw_init_vif() 105 wlcore_hw_sta_get_ap_rate_mask(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wlcore_hw_sta_get_ap_rate_mask() argument 110 return wl->ops->sta_get_ap_rate_mask(wl, wlvif); in wlcore_hw_sta_get_ap_rate_mask() 143 struct wl12xx_vif *wlvif) in wlcore_hw_ap_get_mimo_wide_rate_mask() argument 146 return wl->ops->ap_get_mimo_wide_rate_mask(wl, wlvif); in wlcore_hw_ap_get_mimo_wide_rate_mask() 200 wlcore_hw_sta_rc_update(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wlcore_hw_sta_rc_update() argument 203 wl->ops->sta_rc_update(wl, wlvif); in wlcore_hw_sta_rc_update() 302 wlcore_hw_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start) in wlcore_hw_set_cac() argument 307 return wl->ops->set_cac(wl, wlvif, start); in wlcore_hw_set_cac() [all …]
|
D | scan.c | 24 struct wl12xx_vif *wlvif; in wl1271_scan_complete_work() local 43 wlvif = wl->scan_wlvif; in wl1271_scan_complete_work() 60 if (test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) { in wl1271_scan_complete_work() 62 wl1271_cmd_build_ap_probe_req(wl, wlvif, wlvif->probereq); in wl1271_scan_complete_work() 85 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wlcore_started_vifs_iter() local 94 switch (wlvif->bss_type) { in wlcore_started_vifs_iter() 96 if (test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) in wlcore_started_vifs_iter() 101 if (wlvif->wl->active_sta_count > 0) in wlcore_started_vifs_iter() 334 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wlcore_scan() local 354 wl->scan_wlvif = wlvif; in wlcore_scan() [all …]
|
D | debugfs.c | 255 struct wl12xx_vif *wlvif; in dynamic_ps_timeout_write() local 285 wl12xx_for_each_wlvif_sta(wl, wlvif) { in dynamic_ps_timeout_write() 286 if (test_bit(WLVIF_FLAG_IN_PS, &wlvif->flags)) in dynamic_ps_timeout_write() 287 wl1271_ps_set_mode(wl, wlvif, STATION_AUTO_PS_MODE); in dynamic_ps_timeout_write() 320 struct wl12xx_vif *wlvif; in forced_ps_write() local 355 wl12xx_for_each_wlvif_sta(wl, wlvif) { in forced_ps_write() 356 if (test_bit(WLVIF_FLAG_IN_PS, &wlvif->flags)) in forced_ps_write() 357 wl1271_ps_set_mode(wl, wlvif, ps_mode); in forced_ps_write() 424 struct wl12xx_vif *wlvif; in driver_state_read() local 448 wl12xx_for_each_wlvif_sta(wl, wlvif) { in driver_state_read() [all …]
|
D | wlcore.h | 64 int (*init_vif)(struct wl1271 *wl, struct wl12xx_vif *wlvif); 68 struct wl12xx_vif *wlvif); 78 struct wl12xx_vif *wlvif); 82 int (*scan_start)(struct wl1271 *wl, struct wl12xx_vif *wlvif, 84 int (*scan_stop)(struct wl1271 *wl, struct wl12xx_vif *wlvif); 85 int (*sched_scan_start)(struct wl1271 *wl, struct wl12xx_vif *wlvif, 88 void (*sched_scan_stop)(struct wl1271 *wl, struct wl12xx_vif *wlvif); 95 struct wl12xx_vif *wlvif, 98 void (*sta_rc_update)(struct wl1271 *wl, struct wl12xx_vif *wlvif); 115 int (*set_cac)(struct wl1271 *wl, struct wl12xx_vif *wlvif, [all …]
|
D | ps.h | 16 int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, 18 void wl12xx_ps_link_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 20 void wl12xx_ps_link_end(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid);
|
D | scan.h | 21 void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif); 24 struct wl12xx_vif *wlvif, 27 int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif); 161 struct wl12xx_vif *wlvif,
|
/drivers/net/wireless/ti/wl12xx/ |
D | scan.c | 80 static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_scan_send() argument 84 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); in wl1271_scan_send() 108 if (wlcore_is_p2p_mgmt(wlvif)) in wl1271_scan_send() 109 cmd->params.role_id = wlvif->dev_role_id; in wl1271_scan_send() 111 cmd->params.role_id = wlvif->role_id; in wl1271_scan_send() 145 ret = wl12xx_cmd_build_probe_req(wl, wlvif, in wl1271_scan_send() 177 int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl12xx_scan_stop() argument 204 void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl1271_scan_stm() argument 216 mask = wlvif->bitrate_masks[band]; in wl1271_scan_stm() 223 ret = wl1271_scan_send(wl, wlvif, band, false, rate); in wl1271_scan_stm() [all …]
|
D | scan.h | 118 int wl12xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 120 int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif); 121 void wl12xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif); 122 int wl12xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 125 void wl12xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
/drivers/net/wireless/ti/wl18xx/ |
D | scan.c | 27 static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl18xx_scan_send() argument 41 if (wlcore_is_p2p_mgmt(wlvif)) in wl18xx_scan_send() 42 cmd->role_id = wlvif->dev_role_id; in wl18xx_scan_send() 44 cmd->role_id = wlvif->role_id; in wl18xx_scan_send() 100 ret = wl12xx_cmd_build_probe_req(wl, wlvif, in wl18xx_scan_send() 117 ret = wl12xx_cmd_build_probe_req(wl, wlvif, in wl18xx_scan_send() 146 void wl18xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl18xx_scan_completed() argument 156 struct wl12xx_vif *wlvif, in wl18xx_scan_sched_scan_config() argument 168 filter_type = wlcore_scan_sched_scan_ssid_list(wl, wlvif, req); in wl18xx_scan_sched_scan_config() 178 cmd->role_id = wlvif->role_id; in wl18xx_scan_sched_scan_config() [all …]
|
D | cmd.c | 15 struct wl12xx_vif *wlvif, in wl18xx_cmd_channel_switch() argument 31 cmd->role_id = wlvif->role_id; in wl18xx_cmd_channel_switch() 51 if (wlvif->bss_type == BSS_TYPE_STA_BSS) in wl18xx_cmd_channel_switch() 52 supported_rates |= wlcore_hw_sta_get_ap_rate_mask(wl, wlvif); in wl18xx_cmd_channel_switch() 55 wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif); in wl18xx_cmd_channel_switch() 56 if (wlvif->p2p) in wl18xx_cmd_channel_switch() 59 cmd->channel_type = wlvif->channel_type; in wl18xx_cmd_channel_switch() 162 int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start) in wl18xx_cmd_set_cac() argument 168 wlvif->channel, start ? "start" : "stop"); in wl18xx_cmd_set_cac() 174 cmd->role_id = wlvif->role_id; in wl18xx_cmd_set_cac() [all …]
|
D | scan.h | 105 int wl18xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 107 int wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif); 108 void wl18xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif); 109 int wl18xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 112 void wl18xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
D | event.c | 208 struct wl12xx_vif *wlvif; in wl18xx_process_mailbox_events() local 215 wlvif = wl->links[link_id].wlvif; in wl18xx_process_mailbox_events() 216 vif = wl12xx_wlvif_to_vif(wlvif); in wl18xx_process_mailbox_events() 221 if (wlvif->bss_type != BSS_TYPE_AP_BSS) in wl18xx_process_mailbox_events()
|
D | cmd.h | 73 struct wl12xx_vif *wlvif, 79 int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start); 81 int wl18xx_cmd_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
D | main.c | 1272 struct wl12xx_vif *wlvif) in wl18xx_sta_get_ap_rate_mask() argument 1274 u32 hw_rate_set = wlvif->rate_set; in wl18xx_sta_get_ap_rate_mask() 1276 if (wlvif->channel_type == NL80211_CHAN_HT40MINUS || in wl18xx_sta_get_ap_rate_mask() 1277 wlvif->channel_type == NL80211_CHAN_HT40PLUS) { in wl18xx_sta_get_ap_rate_mask() 1292 struct wl12xx_vif *wlvif) in wl18xx_ap_get_mimo_wide_rate_mask() argument 1294 if (wlvif->channel_type == NL80211_CHAN_HT40MINUS || in wl18xx_ap_get_mimo_wide_rate_mask() 1295 wlvif->channel_type == NL80211_CHAN_HT40PLUS) { in wl18xx_ap_get_mimo_wide_rate_mask() 1299 if (WARN_ON(wlvif->band != NL80211_BAND_5GHZ)) in wl18xx_ap_get_mimo_wide_rate_mask() 1304 wlvif->band == NL80211_BAND_2GHZ) { in wl18xx_ap_get_mimo_wide_rate_mask() 1614 struct wl12xx_vif *wlvif) in wl18xx_sta_rc_update() argument [all …]
|