/linux-4.1.27/drivers/net/wireless/ti/wlcore/ |
D | event.c | 34 struct wl12xx_vif *wlvif; in wlcore_event_rssi_trigger() local 42 wl12xx_for_each_wlvif_sta(wl, wlvif) { in wlcore_event_rssi_trigger() 43 if (metric <= wlvif->rssi_thold) in wlcore_event_rssi_trigger() 48 vif = wl12xx_wlvif_to_vif(wlvif); in wlcore_event_rssi_trigger() 49 if (event != wlvif->last_rssi_event) in wlcore_event_rssi_trigger() 51 wlvif->last_rssi_event = event; in wlcore_event_rssi_trigger() 56 static void wl1271_stop_ba_event(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl1271_stop_ba_event() argument 58 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); in wl1271_stop_ba_event() 60 if (wlvif->bss_type != BSS_TYPE_AP_BSS) { in wl1271_stop_ba_event() 61 u8 hlid = wlvif->sta.hlid; in wl1271_stop_ba_event() [all …]
|
D | main.c | 56 static void wl1271_free_ap_keys(struct wl1271 *wl, struct wl12xx_vif *wlvif); 58 static int wl12xx_set_authorized(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl12xx_set_authorized() argument 62 if (WARN_ON(wlvif->bss_type != BSS_TYPE_STA_BSS)) in wl12xx_set_authorized() 65 if (!test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) in wl12xx_set_authorized() 68 if (test_and_set_bit(WLVIF_FLAG_STA_STATE_SENT, &wlvif->flags)) in wl12xx_set_authorized() 71 ret = wl12xx_cmd_set_peer_state(wl, wlvif, wlvif->sta.hlid); in wl12xx_set_authorized() 92 static int wl1271_set_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_set_rx_streaming() argument 98 ret = wl1271_acx_ps_rx_streaming(wl, wlvif, enable); in wl1271_set_rx_streaming() 103 set_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags); in wl1271_set_rx_streaming() 105 clear_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags); in wl1271_set_rx_streaming() [all …]
|
D | init.c | 159 struct wl12xx_vif *wlvif) in wl1271_ap_init_deauth_template() argument 174 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); in wl1271_ap_init_deauth_template() 175 ret = wl1271_cmd_template_set(wl, wlvif->role_id, in wl1271_ap_init_deauth_template() 187 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wl1271_ap_init_null_template() local 207 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); in wl1271_ap_init_null_template() 208 ret = wl1271_cmd_template_set(wl, wlvif->role_id, in wl1271_ap_init_null_template() 220 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wl1271_ap_init_qos_null_template() local 240 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); in wl1271_ap_init_qos_null_template() 241 ret = wl1271_cmd_template_set(wl, wlvif->role_id, in wl1271_ap_init_qos_null_template() 262 struct wl12xx_vif *wlvif) in wl12xx_init_phy_vif_config() argument [all …]
|
D | cmd.c | 316 int wl12xx_allocate_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid) in wl12xx_allocate_link() argument 328 __set_bit(link, wlvif->links_map); in wl12xx_allocate_link() 339 wl->links[link].wlvif = wlvif; in wl12xx_allocate_link() 345 if (wlvif->bss_type != BSS_TYPE_AP_BSS) in wl12xx_allocate_link() 346 wl->links[link].total_freed_pkts = wlvif->total_freed_pkts; in wl12xx_allocate_link() 354 void wl12xx_free_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid) in wl12xx_free_link() argument 364 __clear_bit(*hlid, wlvif->links_map); in wl12xx_free_link() 377 wl->links[*hlid].wlvif = NULL; in wl12xx_free_link() 379 if (wlvif->bss_type == BSS_TYPE_AP_BSS && in wl12xx_free_link() 380 *hlid == wlvif->ap.bcast_hlid) { in wl12xx_free_link() [all …]
|
D | tx.c | 44 struct wl12xx_vif *wlvif, u8 id) in wl1271_set_default_wep_key() argument 47 bool is_ap = (wlvif->bss_type == BSS_TYPE_AP_BSS); in wl1271_set_default_wep_key() 51 wlvif->ap.bcast_hlid); in wl1271_set_default_wep_key() 53 ret = wl12xx_cmd_set_default_wep_key(wl, id, wlvif->sta.hlid); in wl1271_set_default_wep_key() 89 struct wl12xx_vif *wlvif, in wl1271_tx_ap_update_inconnection_sta() argument 104 wl1271_acx_set_inconnection_sta(wl, wlvif, hdr->addr1); in wl1271_tx_ap_update_inconnection_sta() 111 wlcore_update_inconn_sta(wl, wlvif, NULL, true); in wl1271_tx_ap_update_inconnection_sta() 112 wlvif->pending_auth_reply_time = jiffies; in wl1271_tx_ap_update_inconnection_sta() 113 cancel_delayed_work(&wlvif->pending_auth_complete_work); in wl1271_tx_ap_update_inconnection_sta() 115 &wlvif->pending_auth_complete_work, in wl1271_tx_ap_update_inconnection_sta() [all …]
|
D | ps.c | 38 struct wl12xx_vif *wlvif; in wl1271_elp_work() local 58 wl12xx_for_each_wlvif(wl, wlvif) { in wl1271_elp_work() 59 if (!test_bit(WLVIF_FLAG_IN_PS, &wlvif->flags) && in wl1271_elp_work() 60 test_bit(WLVIF_FLAG_IN_USE, &wlvif->flags)) in wl1271_elp_work() 80 struct wl12xx_vif *wlvif; in wl1271_ps_elp_sleep() local 94 wl12xx_for_each_wlvif(wl, wlvif) { in wl1271_ps_elp_sleep() 95 if (!test_bit(WLVIF_FLAG_IN_PS, &wlvif->flags) && in wl1271_ps_elp_sleep() 96 test_bit(WLVIF_FLAG_IN_USE, &wlvif->flags)) in wl1271_ps_elp_sleep() 175 int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_ps_set_mode() argument 187 ret = wl1271_acx_wake_up_conditions(wl, wlvif, in wl1271_ps_set_mode() [all …]
|
D | cmd.h | 37 int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif); 38 int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif); 39 int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif); 40 int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif); 41 int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif); 42 int wl12xx_start_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif, 44 int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif); 52 int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, 59 int wl12xx_cmd_build_null_data(struct wl1271 *wl, struct wl12xx_vif *wlvif); 60 int wl1271_cmd_build_ps_poll(struct wl1271 *wl, struct wl12xx_vif *wlvif, [all …]
|
D | acx.c | 37 int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_acx_wake_up_conditions() argument 52 wake_up->role_id = wlvif->role_id; in wl1271_acx_wake_up_conditions() 97 int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_acx_tx_power() argument 114 acx->role_id = wlvif->role_id; in wl1271_acx_tx_power() 128 int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl1271_acx_feature_cfg() argument 142 feature->role_id = wlvif->role_id; in wl1271_acx_feature_cfg() 199 int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_acx_slot() argument 213 slot->role_id = wlvif->role_id; in wl1271_acx_slot() 228 int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_acx_group_address_tbl() argument 243 acx->role_id = wlvif->role_id; in wl1271_acx_group_address_tbl() [all …]
|
D | wlcore_i.h | 277 struct wl12xx_vif *wlvif; member 501 struct ieee80211_vif *wl12xx_wlvif_to_vif(struct wl12xx_vif *wlvif) in wl12xx_wlvif_to_vif() argument 503 return container_of((void *)wlvif, struct ieee80211_vif, drv_priv); in wl12xx_wlvif_to_vif() 506 #define wl12xx_for_each_wlvif(wl, wlvif) \ argument 507 list_for_each_entry(wlvif, &wl->wlvif_list, list) 509 #define wl12xx_for_each_wlvif_continue(wl, wlvif) \ argument 510 list_for_each_entry_continue(wlvif, &wl->wlvif_list, list) 512 #define wl12xx_for_each_wlvif_bss_type(wl, wlvif, _bss_type) \ argument 513 wl12xx_for_each_wlvif(wl, wlvif) \ 514 if (wlvif->bss_type == _bss_type) [all …]
|
D | tx.h | 215 int wlcore_tx_get_mac80211_queue(struct wl12xx_vif *wlvif, int queue) in wlcore_tx_get_mac80211_queue() argument 217 int mac_queue = wlvif->hw_queue_base; in wlcore_tx_get_mac80211_queue() 246 void wl12xx_tx_reset_wlvif(struct wl1271 *wl, struct wl12xx_vif *wlvif); 253 u8 wl12xx_tx_get_hlid(struct wl1271 *wl, struct wl12xx_vif *wlvif, 262 void wlcore_stop_queue_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif, 264 void wlcore_stop_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue, 266 void wlcore_wake_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue, 273 struct wl12xx_vif *wlvif, u8 queue, 277 struct wl12xx_vif *wlvif, 280 bool wlcore_is_queue_stopped_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif, [all …]
|
D | acx.h | 1043 struct wl12xx_vif *wlvif, 1046 int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1048 int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif); 1052 int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1054 int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1057 struct wl12xx_vif *wlvif); 1058 int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1061 int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif, 1064 struct wl12xx_vif *wlvif); 1065 int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif, [all …]
|
D | hw_ops.h | 101 wlcore_hw_init_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wlcore_hw_init_vif() argument 104 return wl->ops->init_vif(wl, wlvif); in wlcore_hw_init_vif() 119 wlcore_hw_sta_get_ap_rate_mask(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wlcore_hw_sta_get_ap_rate_mask() argument 124 return wl->ops->sta_get_ap_rate_mask(wl, wlvif); in wlcore_hw_sta_get_ap_rate_mask() 157 struct wl12xx_vif *wlvif) in wlcore_hw_ap_get_mimo_wide_rate_mask() argument 160 return wl->ops->ap_get_mimo_wide_rate_mask(wl, wlvif); in wlcore_hw_ap_get_mimo_wide_rate_mask() 214 wlcore_hw_sta_rc_update(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wlcore_hw_sta_rc_update() argument 217 wl->ops->sta_rc_update(wl, wlvif); in wlcore_hw_sta_rc_update() 316 wlcore_hw_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start) in wlcore_hw_set_cac() argument 321 return wl->ops->set_cac(wl, wlvif, start); in wlcore_hw_set_cac() [all …]
|
D | scan.c | 38 struct wl12xx_vif *wlvif; in wl1271_scan_complete_work() local 54 wlvif = wl->scan_wlvif; in wl1271_scan_complete_work() 71 if (test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) { in wl1271_scan_complete_work() 73 wl1271_cmd_build_ap_probe_req(wl, wlvif, wlvif->probereq); in wl1271_scan_complete_work() 95 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wlcore_started_vifs_iter() local 104 switch (wlvif->bss_type) { in wlcore_started_vifs_iter() 106 if (test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) in wlcore_started_vifs_iter() 111 if (wlvif->wl->active_sta_count > 0) in wlcore_started_vifs_iter() 344 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wlcore_scan() local 364 wl->scan_wlvif = wlvif; in wlcore_scan() [all …]
|
D | debugfs.c | 273 struct wl12xx_vif *wlvif; in dynamic_ps_timeout_write() local 303 wl12xx_for_each_wlvif_sta(wl, wlvif) { in dynamic_ps_timeout_write() 304 if (test_bit(WLVIF_FLAG_IN_PS, &wlvif->flags)) in dynamic_ps_timeout_write() 305 wl1271_ps_set_mode(wl, wlvif, STATION_AUTO_PS_MODE); in dynamic_ps_timeout_write() 337 struct wl12xx_vif *wlvif; in forced_ps_write() local 372 wl12xx_for_each_wlvif_sta(wl, wlvif) { in forced_ps_write() 373 if (test_bit(WLVIF_FLAG_IN_PS, &wlvif->flags)) in forced_ps_write() 374 wl1271_ps_set_mode(wl, wlvif, ps_mode); in forced_ps_write() 440 struct wl12xx_vif *wlvif; in driver_state_read() local 464 wl12xx_for_each_wlvif_sta(wl, wlvif) { in driver_state_read() [all …]
|
D | wlcore.h | 75 int (*init_vif)(struct wl1271 *wl, struct wl12xx_vif *wlvif); 79 struct wl12xx_vif *wlvif); 89 struct wl12xx_vif *wlvif); 93 int (*scan_start)(struct wl1271 *wl, struct wl12xx_vif *wlvif, 95 int (*scan_stop)(struct wl1271 *wl, struct wl12xx_vif *wlvif); 96 int (*sched_scan_start)(struct wl1271 *wl, struct wl12xx_vif *wlvif, 99 void (*sched_scan_stop)(struct wl1271 *wl, struct wl12xx_vif *wlvif); 106 struct wl12xx_vif *wlvif, 109 void (*sta_rc_update)(struct wl1271 *wl, struct wl12xx_vif *wlvif); 126 int (*set_cac)(struct wl1271 *wl, struct wl12xx_vif *wlvif, [all …]
|
D | ps.h | 30 int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, 35 void wl12xx_ps_link_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 37 void wl12xx_ps_link_end(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid);
|
D | scan.h | 35 void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif); 38 struct wl12xx_vif *wlvif, 41 int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif); 169 struct wl12xx_vif *wlvif,
|
D | init.h | 36 int wl1271_init_ap_rates(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
/linux-4.1.27/drivers/net/wireless/ti/wl12xx/ |
D | scan.c | 94 static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl1271_scan_send() argument 98 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); in wl1271_scan_send() 121 cmd->params.role_id = wlvif->role_id; in wl1271_scan_send() 155 ret = wl12xx_cmd_build_probe_req(wl, wlvif, in wl1271_scan_send() 187 int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl12xx_scan_stop() argument 214 void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl1271_scan_stm() argument 226 mask = wlvif->bitrate_masks[band]; in wl1271_scan_stm() 233 ret = wl1271_scan_send(wl, wlvif, band, false, rate); in wl1271_scan_stm() 236 wl1271_scan_stm(wl, wlvif); in wl1271_scan_stm() 243 mask = wlvif->bitrate_masks[band]; in wl1271_scan_stm() [all …]
|
D | scan.h | 132 int wl12xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 134 int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif); 135 void wl12xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif); 136 int wl12xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 139 void wl12xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
D | cmd.c | 289 struct wl12xx_vif *wlvif, in wl12xx_cmd_channel_switch() argument 303 cmd->role_id = wlvif->role_id; in wl12xx_cmd_channel_switch()
|
D | cmd.h | 129 struct wl12xx_vif *wlvif,
|
D | main.c | 1472 struct wl12xx_vif *wlvif) in wl12xx_sta_get_ap_rate_mask() argument 1474 return wlvif->rate_set; in wl12xx_sta_get_ap_rate_mask()
|
/linux-4.1.27/drivers/net/wireless/ti/wl18xx/ |
D | cmd.c | 29 struct wl12xx_vif *wlvif, in wl18xx_cmd_channel_switch() argument 45 cmd->role_id = wlvif->role_id; in wl18xx_cmd_channel_switch() 65 if (wlvif->bss_type == BSS_TYPE_STA_BSS) in wl18xx_cmd_channel_switch() 66 supported_rates |= wlcore_hw_sta_get_ap_rate_mask(wl, wlvif); in wl18xx_cmd_channel_switch() 69 wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif); in wl18xx_cmd_channel_switch() 70 if (wlvif->p2p) in wl18xx_cmd_channel_switch() 73 cmd->channel_type = wlvif->channel_type; in wl18xx_cmd_channel_switch() 176 int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start) in wl18xx_cmd_set_cac() argument 182 wlvif->channel, start ? "start" : "stop"); in wl18xx_cmd_set_cac() 188 cmd->role_id = wlvif->role_id; in wl18xx_cmd_set_cac() [all …]
|
D | scan.c | 41 static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, in wl18xx_scan_send() argument 54 cmd->role_id = wlvif->role_id; in wl18xx_scan_send() 110 ret = wl12xx_cmd_build_probe_req(wl, wlvif, in wl18xx_scan_send() 127 ret = wl12xx_cmd_build_probe_req(wl, wlvif, in wl18xx_scan_send() 156 void wl18xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif) in wl18xx_scan_completed() argument 166 struct wl12xx_vif *wlvif, in wl18xx_scan_sched_scan_config() argument 178 filter_type = wlcore_scan_sched_scan_ssid_list(wl, wlvif, req); in wl18xx_scan_sched_scan_config() 188 cmd->role_id = wlvif->role_id; in wl18xx_scan_sched_scan_config() 240 ret = wl12xx_cmd_build_probe_req(wl, wlvif, in wl18xx_scan_sched_scan_config() 257 ret = wl12xx_cmd_build_probe_req(wl, wlvif, in wl18xx_scan_sched_scan_config() [all …]
|
D | scan.h | 119 int wl18xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 121 int wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif); 122 void wl18xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif); 123 int wl18xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, 126 void wl18xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
D | cmd.h | 87 struct wl12xx_vif *wlvif, 93 int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start); 95 int wl18xx_cmd_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
D | tx.c | 65 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif); in wl18xx_get_last_tx_rate() local 66 if (wlvif->channel_type == NL80211_CHAN_HT40MINUS || in wl18xx_get_last_tx_rate() 67 wlvif->channel_type == NL80211_CHAN_HT40PLUS) { in wl18xx_get_last_tx_rate()
|
D | main.c | 1235 struct wl12xx_vif *wlvif) in wl18xx_sta_get_ap_rate_mask() argument 1237 u32 hw_rate_set = wlvif->rate_set; in wl18xx_sta_get_ap_rate_mask() 1239 if (wlvif->channel_type == NL80211_CHAN_HT40MINUS || in wl18xx_sta_get_ap_rate_mask() 1240 wlvif->channel_type == NL80211_CHAN_HT40PLUS) { in wl18xx_sta_get_ap_rate_mask() 1255 struct wl12xx_vif *wlvif) in wl18xx_ap_get_mimo_wide_rate_mask() argument 1257 if (wlvif->channel_type == NL80211_CHAN_HT40MINUS || in wl18xx_ap_get_mimo_wide_rate_mask() 1258 wlvif->channel_type == NL80211_CHAN_HT40PLUS) { in wl18xx_ap_get_mimo_wide_rate_mask() 1262 if (WARN_ON(wlvif->band != IEEE80211_BAND_5GHZ)) in wl18xx_ap_get_mimo_wide_rate_mask() 1267 wlvif->band == IEEE80211_BAND_2GHZ) { in wl18xx_ap_get_mimo_wide_rate_mask() 1570 struct wl12xx_vif *wlvif) in wl18xx_sta_rc_update() argument [all …]
|