Lines Matching refs:wmi

27 static int ath6kl_wmi_sync_point(struct wmi *wmi, u8 if_idx);
123 void ath6kl_wmi_set_control_ep(struct wmi *wmi, enum htc_endpoint_id ep_id) in ath6kl_wmi_set_control_ep() argument
128 wmi->ep_id = ep_id; in ath6kl_wmi_set_control_ep()
131 enum htc_endpoint_id ath6kl_wmi_get_control_ep(struct wmi *wmi) in ath6kl_wmi_get_control_ep() argument
133 return wmi->ep_id; in ath6kl_wmi_get_control_ep()
160 int ath6kl_wmi_dix_2_dot3(struct wmi *wmi, struct sk_buff *skb) in ath6kl_wmi_dix_2_dot3() argument
206 static int ath6kl_wmi_meta_add(struct wmi *wmi, struct sk_buff *skb, in ath6kl_wmi_meta_add() argument
234 int ath6kl_wmi_data_hdr_add(struct wmi *wmi, struct sk_buff *skb, in ath6kl_wmi_data_hdr_add() argument
242 if (WARN_ON(skb == NULL || (if_idx > wmi->parent_dev->vif_max - 1))) in ath6kl_wmi_data_hdr_add()
246 ret = ath6kl_wmi_meta_add(wmi, skb, &meta_ver, tx_meta_info); in ath6kl_wmi_data_hdr_add()
298 int ath6kl_wmi_implicit_create_pstream(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_implicit_create_pstream() argument
359 if ((wmi->traffic_class == WMM_AC_VI) && in ath6kl_wmi_implicit_create_pstream()
368 spin_lock_bh(&wmi->lock); in ath6kl_wmi_implicit_create_pstream()
369 stream_exist = wmi->fat_pipe_exist; in ath6kl_wmi_implicit_create_pstream()
370 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_implicit_create_pstream()
380 ath6kl_wmi_create_pstream_cmd(wmi, if_idx, &cmd); in ath6kl_wmi_implicit_create_pstream()
388 int ath6kl_wmi_dot11_hdr_remove(struct wmi *wmi, struct sk_buff *skb) in ath6kl_wmi_dot11_hdr_remove() argument
503 static int ath6kl_wmi_remain_on_chnl_event_rx(struct wmi *wmi, u8 *datap, in ath6kl_wmi_remain_on_chnl_event_rx() argument
510 struct ath6kl *ar = wmi->parent_dev; in ath6kl_wmi_remain_on_chnl_event_rx()
535 static int ath6kl_wmi_cancel_remain_on_chnl_event_rx(struct wmi *wmi, in ath6kl_wmi_cancel_remain_on_chnl_event_rx() argument
543 struct ath6kl *ar = wmi->parent_dev; in ath6kl_wmi_cancel_remain_on_chnl_event_rx()
573 static int ath6kl_wmi_tx_status_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_tx_status_event_rx() argument
586 if (wmi->last_mgmt_tx_frame) { in ath6kl_wmi_tx_status_event_rx()
588 wmi->last_mgmt_tx_frame, in ath6kl_wmi_tx_status_event_rx()
589 wmi->last_mgmt_tx_frame_len, in ath6kl_wmi_tx_status_event_rx()
591 kfree(wmi->last_mgmt_tx_frame); in ath6kl_wmi_tx_status_event_rx()
592 wmi->last_mgmt_tx_frame = NULL; in ath6kl_wmi_tx_status_event_rx()
593 wmi->last_mgmt_tx_frame_len = 0; in ath6kl_wmi_tx_status_event_rx()
599 static int ath6kl_wmi_rx_probe_req_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_rx_probe_req_event_rx() argument
642 static int ath6kl_wmi_rx_action_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_rx_action_event_rx() argument
726 static int ath6kl_wmi_simple_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_simple_cmd() argument
736 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, cmd_id, NO_SYNC_WMIFLAG); in ath6kl_wmi_simple_cmd()
741 static int ath6kl_wmi_ready_event_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_ready_event_rx() argument
748 ath6kl_ready_event(wmi->parent_dev, ev->mac_addr, in ath6kl_wmi_ready_event_rx()
761 int ath6kl_wmi_set_roam_lrssi_cmd(struct wmi *wmi, u8 lrssi) in ath6kl_wmi_set_roam_lrssi_cmd() argument
779 return ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_ROAM_CTRL_CMDID, in ath6kl_wmi_set_roam_lrssi_cmd()
783 int ath6kl_wmi_force_roam_cmd(struct wmi *wmi, const u8 *bssid) in ath6kl_wmi_force_roam_cmd() argument
798 return ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_ROAM_CTRL_CMDID, in ath6kl_wmi_force_roam_cmd()
802 int ath6kl_wmi_ap_set_beacon_intvl_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_ap_set_beacon_intvl_cmd() argument
815 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_wmi_ap_set_beacon_intvl_cmd()
819 int ath6kl_wmi_ap_set_dtim_cmd(struct wmi *wmi, u8 if_idx, u32 dtim_period) in ath6kl_wmi_ap_set_dtim_cmd() argument
831 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_wmi_ap_set_dtim_cmd()
835 int ath6kl_wmi_set_roam_mode_cmd(struct wmi *wmi, enum wmi_roam_mode mode) in ath6kl_wmi_set_roam_mode_cmd() argument
850 return ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_ROAM_CTRL_CMDID, in ath6kl_wmi_set_roam_mode_cmd()
854 static int ath6kl_wmi_connect_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_connect_event_rx() argument
921 wmi->is_wmm_enabled = true; in ath6kl_wmi_connect_event_rx()
926 if (wmi->is_wmm_enabled) in ath6kl_wmi_connect_event_rx()
985 static void ath6kl_wmi_regdomain_event(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_regdomain_event() argument
1009 if (country && wmi->parent_dev->wiphy_registered) { in ath6kl_wmi_regdomain_event()
1013 regulatory_hint(wmi->parent_dev->wiphy, alpha2); in ath6kl_wmi_regdomain_event()
1020 static int ath6kl_wmi_disconnect_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_disconnect_event_rx() argument
1024 wmi->traffic_class = 100; in ath6kl_wmi_disconnect_event_rx()
1036 wmi->is_wmm_enabled = false; in ath6kl_wmi_disconnect_event_rx()
1045 static int ath6kl_wmi_peer_node_event_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_peer_node_event_rx() argument
1064 static int ath6kl_wmi_tkip_micerr_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_tkip_micerr_event_rx() argument
1086 static int ath6kl_wmi_bssinfo_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_bssinfo_event_rx() argument
1092 struct ath6kl *ar = wmi->parent_dev; in ath6kl_wmi_bssinfo_event_rx()
1115 ath6kl_wmi_bssfilter_cmd(ar->wmi, vif->fw_vif_idx, in ath6kl_wmi_bssinfo_event_rx()
1170 static int ath6kl_wmi_pstream_timeout_event_rx(struct wmi *wmi, u8 *datap, in ath6kl_wmi_pstream_timeout_event_rx() argument
1190 spin_lock_bh(&wmi->lock); in ath6kl_wmi_pstream_timeout_event_rx()
1191 wmi->stream_exist_for_ac[ev->traffic_class] = 0; in ath6kl_wmi_pstream_timeout_event_rx()
1192 wmi->fat_pipe_exist &= ~(1 << ev->traffic_class); in ath6kl_wmi_pstream_timeout_event_rx()
1193 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_pstream_timeout_event_rx()
1196 ath6kl_indicate_tx_activity(wmi->parent_dev, ev->traffic_class, false); in ath6kl_wmi_pstream_timeout_event_rx()
1201 static int ath6kl_wmi_bitrate_reply_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_bitrate_reply_rx() argument
1219 ath6kl_wakeup_event(wmi->parent_dev); in ath6kl_wmi_bitrate_reply_rx()
1224 static int ath6kl_wmi_test_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_test_rx() argument
1226 ath6kl_tm_rx_event(wmi->parent_dev, datap, len); in ath6kl_wmi_test_rx()
1231 static int ath6kl_wmi_ratemask_reply_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_ratemask_reply_rx() argument
1236 ath6kl_wakeup_event(wmi->parent_dev); in ath6kl_wmi_ratemask_reply_rx()
1241 static int ath6kl_wmi_ch_list_reply_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_ch_list_reply_rx() argument
1246 ath6kl_wakeup_event(wmi->parent_dev); in ath6kl_wmi_ch_list_reply_rx()
1251 static int ath6kl_wmi_tx_pwr_reply_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_tx_pwr_reply_rx() argument
1259 ath6kl_txpwr_rx_evt(wmi->parent_dev, reply->dbM); in ath6kl_wmi_tx_pwr_reply_rx()
1264 static int ath6kl_wmi_keepalive_reply_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_keepalive_reply_rx() argument
1269 ath6kl_wakeup_event(wmi->parent_dev); in ath6kl_wmi_keepalive_reply_rx()
1274 static int ath6kl_wmi_scan_complete_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_scan_complete_rx() argument
1282 wmi->is_probe_ssid = false; in ath6kl_wmi_scan_complete_rx()
1287 static int ath6kl_wmi_neighbor_report_event_rx(struct wmi *wmi, u8 *datap, in ath6kl_wmi_neighbor_report_event_rx() argument
1323 static int ath6kl_wmi_error_event_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_error_event_rx() argument
1347 static int ath6kl_wmi_stats_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_stats_event_rx() argument
1391 static int ath6kl_wmi_send_rssi_threshold_params(struct wmi *wmi, in ath6kl_wmi_send_rssi_threshold_params() argument
1404 return ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_RSSI_THRESHOLD_PARAMS_CMDID, in ath6kl_wmi_send_rssi_threshold_params()
1408 static int ath6kl_wmi_rssi_threshold_event_rx(struct wmi *wmi, u8 *datap, in ath6kl_wmi_rssi_threshold_event_rx() argument
1426 sq_thresh = &wmi->sq_threshld[SIGNAL_QUALITY_METRICS_RSSI]; in ath6kl_wmi_rssi_threshold_event_rx()
1495 ret = ath6kl_wmi_send_rssi_threshold_params(wmi, &cmd); in ath6kl_wmi_rssi_threshold_event_rx()
1504 static int ath6kl_wmi_cac_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_cac_event_rx() argument
1529 ath6kl_wmi_delete_pstream_cmd(wmi, vif->fw_vif_idx, in ath6kl_wmi_cac_event_rx()
1536 spin_lock_bh(&wmi->lock); in ath6kl_wmi_cac_event_rx()
1537 active_tsids = wmi->stream_exist_for_ac[reply->ac]; in ath6kl_wmi_cac_event_rx()
1538 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_cac_event_rx()
1545 ath6kl_wmi_delete_pstream_cmd(wmi, vif->fw_vif_idx, in ath6kl_wmi_cac_event_rx()
1559 spin_lock_bh(&wmi->lock); in ath6kl_wmi_cac_event_rx()
1560 wmi->stream_exist_for_ac[reply->ac] &= ~(1 << ts_id); in ath6kl_wmi_cac_event_rx()
1561 active_tsids = wmi->stream_exist_for_ac[reply->ac]; in ath6kl_wmi_cac_event_rx()
1562 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_cac_event_rx()
1568 ath6kl_indicate_tx_activity(wmi->parent_dev, reply->ac, in ath6kl_wmi_cac_event_rx()
1570 wmi->fat_pipe_exist &= ~(1 << reply->ac); in ath6kl_wmi_cac_event_rx()
1577 static int ath6kl_wmi_txe_notify_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_txe_notify_event_rx() argument
1607 int ath6kl_wmi_set_txe_notify(struct wmi *wmi, u8 idx, in ath6kl_wmi_set_txe_notify() argument
1622 return ath6kl_wmi_cmd_send(wmi, idx, skb, WMI_SET_TXE_NOTIFY_CMDID, in ath6kl_wmi_set_txe_notify()
1626 int ath6kl_wmi_set_rssi_filter_cmd(struct wmi *wmi, u8 if_idx, s8 rssi) in ath6kl_wmi_set_rssi_filter_cmd() argument
1639 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_RSSI_FILTER_CMDID, in ath6kl_wmi_set_rssi_filter_cmd()
1644 static int ath6kl_wmi_send_snr_threshold_params(struct wmi *wmi, in ath6kl_wmi_send_snr_threshold_params() argument
1657 return ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SNR_THRESHOLD_PARAMS_CMDID, in ath6kl_wmi_send_snr_threshold_params()
1661 static int ath6kl_wmi_snr_threshold_event_rx(struct wmi *wmi, u8 *datap, in ath6kl_wmi_snr_threshold_event_rx() argument
1680 sq_thresh = &wmi->sq_threshld[SIGNAL_QUALITY_METRICS_SNR]; in ath6kl_wmi_snr_threshold_event_rx()
1742 ret = ath6kl_wmi_send_snr_threshold_params(wmi, &cmd); in ath6kl_wmi_snr_threshold_event_rx()
1751 static int ath6kl_wmi_aplist_event_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_aplist_event_rx() argument
1779 int ath6kl_wmi_cmd_send(struct wmi *wmi, u8 if_idx, struct sk_buff *skb, in ath6kl_wmi_cmd_send() argument
1783 enum htc_endpoint_id ep_id = wmi->ep_id; in ath6kl_wmi_cmd_send()
1788 (if_idx > (wmi->parent_dev->vif_max - 1)))) { in ath6kl_wmi_cmd_send()
1809 ath6kl_wmi_sync_point(wmi, if_idx); in ath6kl_wmi_cmd_send()
1821 ret = ath6kl_wmi_data_hdr_add(wmi, skb, OPT_MSGTYPE, false, in ath6kl_wmi_cmd_send()
1827 ep_id = ath6kl_ac2_endpoint_id(wmi->parent_dev, WMM_AC_BE); in ath6kl_wmi_cmd_send()
1830 ath6kl_control_tx(wmi->parent_dev, skb, ep_id); in ath6kl_wmi_cmd_send()
1838 ath6kl_wmi_sync_point(wmi, if_idx); in ath6kl_wmi_cmd_send()
1844 int ath6kl_wmi_connect_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_connect_cmd() argument
1866 wmi->traffic_class = 100; in ath6kl_wmi_connect_cmd()
1898 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_CONNECT_CMDID, in ath6kl_wmi_connect_cmd()
1904 int ath6kl_wmi_reconnect_cmd(struct wmi *wmi, u8 if_idx, u8 *bssid, in ath6kl_wmi_reconnect_cmd() argument
1914 wmi->traffic_class = 100; in ath6kl_wmi_reconnect_cmd()
1926 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_RECONNECT_CMDID, in ath6kl_wmi_reconnect_cmd()
1932 int ath6kl_wmi_disconnect_cmd(struct wmi *wmi, u8 if_idx) in ath6kl_wmi_disconnect_cmd() argument
1938 wmi->traffic_class = 100; in ath6kl_wmi_disconnect_cmd()
1941 ret = ath6kl_wmi_simple_cmd(wmi, if_idx, WMI_DISCONNECT_CMDID); in ath6kl_wmi_disconnect_cmd()
1950 static int ath6kl_wmi_startscan_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_startscan_cmd() argument
1982 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_START_SCAN_CMDID, in ath6kl_wmi_startscan_cmd()
1993 int ath6kl_wmi_beginscan_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_beginscan_cmd() argument
2004 struct ath6kl *ar = wmi->parent_dev; in ath6kl_wmi_beginscan_cmd()
2010 return ath6kl_wmi_startscan_cmd(wmi, if_idx, in ath6kl_wmi_beginscan_cmd()
2061 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_BEGIN_SCAN_CMDID, in ath6kl_wmi_beginscan_cmd()
2067 int ath6kl_wmi_enable_sched_scan_cmd(struct wmi *wmi, u8 if_idx, bool enable) in ath6kl_wmi_enable_sched_scan_cmd() argument
2082 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_wmi_enable_sched_scan_cmd()
2088 int ath6kl_wmi_scanparams_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_scanparams_cmd() argument
2116 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_SCAN_PARAMS_CMDID, in ath6kl_wmi_scanparams_cmd()
2121 int ath6kl_wmi_bssfilter_cmd(struct wmi *wmi, u8 if_idx, u8 filter, u32 ie_mask) in ath6kl_wmi_bssfilter_cmd() argument
2138 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_BSS_FILTER_CMDID, in ath6kl_wmi_bssfilter_cmd()
2143 int ath6kl_wmi_probedssid_cmd(struct wmi *wmi, u8 if_idx, u8 index, u8 flag, in ath6kl_wmi_probedssid_cmd() argument
2163 wmi->is_probe_ssid = true; in ath6kl_wmi_probedssid_cmd()
2175 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_PROBED_SSID_CMDID, in ath6kl_wmi_probedssid_cmd()
2180 int ath6kl_wmi_listeninterval_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_listeninterval_cmd() argument
2196 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_LISTEN_INT_CMDID, in ath6kl_wmi_listeninterval_cmd()
2201 int ath6kl_wmi_bmisstime_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_bmisstime_cmd() argument
2216 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_BMISS_TIME_CMDID, in ath6kl_wmi_bmisstime_cmd()
2221 int ath6kl_wmi_powermode_cmd(struct wmi *wmi, u8 if_idx, u8 pwr_mode) in ath6kl_wmi_powermode_cmd() argument
2233 wmi->pwr_mode = pwr_mode; in ath6kl_wmi_powermode_cmd()
2235 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_POWER_MODE_CMDID, in ath6kl_wmi_powermode_cmd()
2240 int ath6kl_wmi_pmparams_cmd(struct wmi *wmi, u8 if_idx, u16 idle_period, in ath6kl_wmi_pmparams_cmd() argument
2261 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_POWER_PARAMS_CMDID, in ath6kl_wmi_pmparams_cmd()
2266 int ath6kl_wmi_disctimeout_cmd(struct wmi *wmi, u8 if_idx, u8 timeout) in ath6kl_wmi_disctimeout_cmd() argument
2279 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_DISC_TIMEOUT_CMDID, in ath6kl_wmi_disctimeout_cmd()
2283 ath6kl_debug_set_disconnect_timeout(wmi->parent_dev, timeout); in ath6kl_wmi_disctimeout_cmd()
2288 int ath6kl_wmi_addkey_cmd(struct wmi *wmi, u8 if_idx, u8 key_index, in ath6kl_wmi_addkey_cmd() argument
2330 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_ADD_CIPHER_KEY_CMDID, in ath6kl_wmi_addkey_cmd()
2336 int ath6kl_wmi_add_krk_cmd(struct wmi *wmi, u8 if_idx, const u8 *krk) in ath6kl_wmi_add_krk_cmd() argument
2349 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_ADD_KRK_CMDID, in ath6kl_wmi_add_krk_cmd()
2355 int ath6kl_wmi_deletekey_cmd(struct wmi *wmi, u8 if_idx, u8 key_index) in ath6kl_wmi_deletekey_cmd() argument
2371 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_DELETE_CIPHER_KEY_CMDID, in ath6kl_wmi_deletekey_cmd()
2377 int ath6kl_wmi_setpmkid_cmd(struct wmi *wmi, u8 if_idx, const u8 *bssid, in ath6kl_wmi_setpmkid_cmd() argument
2404 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_PMKID_CMDID, in ath6kl_wmi_setpmkid_cmd()
2410 static int ath6kl_wmi_data_sync_send(struct wmi *wmi, struct sk_buff *skb, in ath6kl_wmi_data_sync_send() argument
2416 if (WARN_ON(skb == NULL || ep_id == wmi->ep_id)) { in ath6kl_wmi_data_sync_send()
2427 ret = ath6kl_control_tx(wmi->parent_dev, skb, ep_id); in ath6kl_wmi_data_sync_send()
2432 static int ath6kl_wmi_sync_point(struct wmi *wmi, u8 if_idx) in ath6kl_wmi_sync_point() argument
2443 spin_lock_bh(&wmi->lock); in ath6kl_wmi_sync_point()
2446 if (wmi->fat_pipe_exist & (1 << index)) { in ath6kl_wmi_sync_point()
2453 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_sync_point()
2465 cmd->data_sync_map = wmi->fat_pipe_exist; in ath6kl_wmi_sync_point()
2486 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SYNCHRONIZE_CMDID, in ath6kl_wmi_sync_point()
2498 ep_id = ath6kl_ac2_endpoint_id(wmi->parent_dev, in ath6kl_wmi_sync_point()
2502 ath6kl_wmi_data_sync_send(wmi, data_sync_bufs[index].skb, in ath6kl_wmi_sync_point()
2524 int ath6kl_wmi_create_pstream_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_create_pstream_cmd() argument
2583 spin_lock_bh(&wmi->lock); in ath6kl_wmi_create_pstream_cmd()
2584 fatpipe_exist_for_ac = (wmi->fat_pipe_exist & in ath6kl_wmi_create_pstream_cmd()
2586 wmi->fat_pipe_exist |= (1 << params->traffic_class); in ath6kl_wmi_create_pstream_cmd()
2587 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_create_pstream_cmd()
2590 spin_lock_bh(&wmi->lock); in ath6kl_wmi_create_pstream_cmd()
2591 fatpipe_exist_for_ac = (wmi->fat_pipe_exist & in ath6kl_wmi_create_pstream_cmd()
2593 wmi->stream_exist_for_ac[params->traffic_class] |= in ath6kl_wmi_create_pstream_cmd()
2599 wmi->fat_pipe_exist |= (1 << params->traffic_class); in ath6kl_wmi_create_pstream_cmd()
2600 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_create_pstream_cmd()
2609 ath6kl_indicate_tx_activity(wmi->parent_dev, in ath6kl_wmi_create_pstream_cmd()
2612 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_CREATE_PSTREAM_CMDID, in ath6kl_wmi_create_pstream_cmd()
2617 int ath6kl_wmi_delete_pstream_cmd(struct wmi *wmi, u8 if_idx, u8 traffic_class, in ath6kl_wmi_delete_pstream_cmd() argument
2643 spin_lock_bh(&wmi->lock); in ath6kl_wmi_delete_pstream_cmd()
2644 active_tsids = wmi->stream_exist_for_ac[traffic_class]; in ath6kl_wmi_delete_pstream_cmd()
2645 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_delete_pstream_cmd()
2659 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_DELETE_PSTREAM_CMDID, in ath6kl_wmi_delete_pstream_cmd()
2662 spin_lock_bh(&wmi->lock); in ath6kl_wmi_delete_pstream_cmd()
2663 wmi->stream_exist_for_ac[traffic_class] &= ~(1 << tsid); in ath6kl_wmi_delete_pstream_cmd()
2664 active_tsids = wmi->stream_exist_for_ac[traffic_class]; in ath6kl_wmi_delete_pstream_cmd()
2665 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_delete_pstream_cmd()
2672 ath6kl_indicate_tx_activity(wmi->parent_dev, in ath6kl_wmi_delete_pstream_cmd()
2674 wmi->fat_pipe_exist &= ~(1 << traffic_class); in ath6kl_wmi_delete_pstream_cmd()
2680 int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_set_ip_cmd() argument
2700 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_IP_CMDID, in ath6kl_wmi_set_ip_cmd()
2705 static void ath6kl_wmi_relinquish_implicit_pstream_credits(struct wmi *wmi) in ath6kl_wmi_relinquish_implicit_pstream_credits() argument
2717 spin_lock_bh(&wmi->lock); in ath6kl_wmi_relinquish_implicit_pstream_credits()
2718 stream_exist = wmi->fat_pipe_exist; in ath6kl_wmi_relinquish_implicit_pstream_credits()
2719 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_relinquish_implicit_pstream_credits()
2727 spin_lock_bh(&wmi->lock); in ath6kl_wmi_relinquish_implicit_pstream_credits()
2728 active_tsids = wmi->stream_exist_for_ac[i]; in ath6kl_wmi_relinquish_implicit_pstream_credits()
2729 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_relinquish_implicit_pstream_credits()
2741 ath6kl_indicate_tx_activity(wmi->parent_dev, in ath6kl_wmi_relinquish_implicit_pstream_credits()
2748 spin_lock_bh(&wmi->lock); in ath6kl_wmi_relinquish_implicit_pstream_credits()
2749 wmi->fat_pipe_exist = stream_exist; in ath6kl_wmi_relinquish_implicit_pstream_credits()
2750 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_relinquish_implicit_pstream_credits()
2753 static int ath6kl_set_bitrate_mask64(struct wmi *wmi, u8 if_idx, in ath6kl_set_bitrate_mask64() argument
2799 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_set_bitrate_mask64()
2805 static int ath6kl_set_bitrate_mask32(struct wmi *wmi, u8 if_idx, in ath6kl_set_bitrate_mask32() argument
2849 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_set_bitrate_mask32()
2855 int ath6kl_wmi_set_bitrate_mask(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_set_bitrate_mask() argument
2858 struct ath6kl *ar = wmi->parent_dev; in ath6kl_wmi_set_bitrate_mask()
2862 return ath6kl_set_bitrate_mask64(wmi, if_idx, mask); in ath6kl_wmi_set_bitrate_mask()
2864 return ath6kl_set_bitrate_mask32(wmi, if_idx, mask); in ath6kl_wmi_set_bitrate_mask()
2867 int ath6kl_wmi_set_host_sleep_mode_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_set_host_sleep_mode_cmd() argument
2887 ath6kl_wmi_relinquish_implicit_pstream_credits(wmi); in ath6kl_wmi_set_host_sleep_mode_cmd()
2893 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_wmi_set_host_sleep_mode_cmd()
2900 static int ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx(struct wmi *wmi, in ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx() argument
2903 struct ath6kl *ar = wmi->parent_dev; in ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx()
2911 int ath6kl_wmi_set_wow_mode_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_set_wow_mode_cmd() argument
2934 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_WOW_MODE_CMDID, in ath6kl_wmi_set_wow_mode_cmd()
2939 int ath6kl_wmi_add_wow_pattern_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_add_wow_pattern_cmd() argument
2970 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_ADD_WOW_PATTERN_CMDID, in ath6kl_wmi_add_wow_pattern_cmd()
2976 int ath6kl_wmi_del_wow_pattern_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_del_wow_pattern_cmd() argument
2991 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_DEL_WOW_PATTERN_CMDID, in ath6kl_wmi_del_wow_pattern_cmd()
2996 static int ath6kl_wmi_cmd_send_xtnd(struct wmi *wmi, struct sk_buff *skb, in ath6kl_wmi_cmd_send_xtnd() argument
3008 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_EXTENSION_CMDID, sync_flag); in ath6kl_wmi_cmd_send_xtnd()
3013 int ath6kl_wmi_get_challenge_resp_cmd(struct wmi *wmi, u32 cookie, u32 source) in ath6kl_wmi_get_challenge_resp_cmd() argument
3027 ret = ath6kl_wmi_cmd_send_xtnd(wmi, skb, WMIX_HB_CHALLENGE_RESP_CMDID, in ath6kl_wmi_get_challenge_resp_cmd()
3032 int ath6kl_wmi_config_debug_module_cmd(struct wmi *wmi, u32 valid, u32 config) in ath6kl_wmi_config_debug_module_cmd() argument
3046 ret = ath6kl_wmi_cmd_send_xtnd(wmi, skb, WMIX_DBGLOG_CFG_MODULE_CMDID, in ath6kl_wmi_config_debug_module_cmd()
3051 int ath6kl_wmi_get_stats_cmd(struct wmi *wmi, u8 if_idx) in ath6kl_wmi_get_stats_cmd() argument
3053 return ath6kl_wmi_simple_cmd(wmi, if_idx, WMI_GET_STATISTICS_CMDID); in ath6kl_wmi_get_stats_cmd()
3056 int ath6kl_wmi_set_tx_pwr_cmd(struct wmi *wmi, u8 if_idx, u8 dbM) in ath6kl_wmi_set_tx_pwr_cmd() argument
3069 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_TX_PWR_CMDID, in ath6kl_wmi_set_tx_pwr_cmd()
3075 int ath6kl_wmi_get_tx_pwr_cmd(struct wmi *wmi, u8 if_idx) in ath6kl_wmi_get_tx_pwr_cmd() argument
3077 return ath6kl_wmi_simple_cmd(wmi, if_idx, WMI_GET_TX_PWR_CMDID); in ath6kl_wmi_get_tx_pwr_cmd()
3080 int ath6kl_wmi_get_roam_tbl_cmd(struct wmi *wmi) in ath6kl_wmi_get_roam_tbl_cmd() argument
3082 return ath6kl_wmi_simple_cmd(wmi, 0, WMI_GET_ROAM_TBL_CMDID); in ath6kl_wmi_get_roam_tbl_cmd()
3085 int ath6kl_wmi_set_lpreamble_cmd(struct wmi *wmi, u8 if_idx, u8 status, in ath6kl_wmi_set_lpreamble_cmd() argument
3100 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_LPREAMBLE_CMDID, in ath6kl_wmi_set_lpreamble_cmd()
3105 int ath6kl_wmi_set_rts_cmd(struct wmi *wmi, u16 threshold) in ath6kl_wmi_set_rts_cmd() argument
3118 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_SET_RTS_CMDID, in ath6kl_wmi_set_rts_cmd()
3123 int ath6kl_wmi_set_wmm_txop(struct wmi *wmi, u8 if_idx, enum wmi_txop_cfg cfg) in ath6kl_wmi_set_wmm_txop() argument
3139 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_WMM_TXOP_CMDID, in ath6kl_wmi_set_wmm_txop()
3144 int ath6kl_wmi_set_keepalive_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_set_keepalive_cmd() argument
3158 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_KEEPALIVE_CMDID, in ath6kl_wmi_set_keepalive_cmd()
3162 ath6kl_debug_set_keepalive(wmi->parent_dev, keep_alive_intvl); in ath6kl_wmi_set_keepalive_cmd()
3167 int ath6kl_wmi_set_htcap_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_set_htcap_cmd() argument
3200 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_HT_CAP_CMDID, in ath6kl_wmi_set_htcap_cmd()
3204 int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len) in ath6kl_wmi_test_cmd() argument
3215 ret = ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_TEST_CMDID, NO_SYNC_WMIFLAG); in ath6kl_wmi_test_cmd()
3220 int ath6kl_wmi_mcast_filter_cmd(struct wmi *wmi, u8 if_idx, bool mc_all_on) in ath6kl_wmi_mcast_filter_cmd() argument
3233 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_MCAST_FILTER_CMDID, in ath6kl_wmi_mcast_filter_cmd()
3238 int ath6kl_wmi_add_del_mcast_filter_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_add_del_mcast_filter_cmd() argument
3258 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_wmi_add_del_mcast_filter_cmd()
3266 int ath6kl_wmi_sta_bmiss_enhance_cmd(struct wmi *wmi, u8 if_idx, bool enhance) in ath6kl_wmi_sta_bmiss_enhance_cmd() argument
3279 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_wmi_sta_bmiss_enhance_cmd()
3285 int ath6kl_wmi_set_regdomain_cmd(struct wmi *wmi, const char *alpha2) in ath6kl_wmi_set_regdomain_cmd() argument
3297 return ath6kl_wmi_cmd_send(wmi, 0, skb, in ath6kl_wmi_set_regdomain_cmd()
3302 s32 ath6kl_wmi_get_rate(struct wmi *wmi, s8 rate_index) in ath6kl_wmi_get_rate() argument
3304 struct ath6kl *ar = wmi->parent_dev; in ath6kl_wmi_get_rate()
3333 static int ath6kl_wmi_get_pmkid_list_event_rx(struct wmi *wmi, u8 *datap, in ath6kl_wmi_get_pmkid_list_event_rx() argument
3352 static int ath6kl_wmi_addba_req_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_addba_req_event_rx() argument
3363 static int ath6kl_wmi_delba_req_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_delba_req_event_rx() argument
3375 int ath6kl_wmi_ap_profile_commit(struct wmi *wmip, u8 if_idx, in ath6kl_wmi_ap_profile_commit()
3398 int ath6kl_wmi_ap_set_mlme(struct wmi *wmip, u8 if_idx, u8 cmd, const u8 *mac, in ath6kl_wmi_ap_set_mlme()
3420 int ath6kl_wmi_ap_hidden_ssid(struct wmi *wmi, u8 if_idx, bool enable) in ath6kl_wmi_ap_hidden_ssid() argument
3432 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_AP_HIDDEN_SSID_CMDID, in ath6kl_wmi_ap_hidden_ssid()
3437 int ath6kl_wmi_ap_set_apsd(struct wmi *wmi, u8 if_idx, u8 enable) in ath6kl_wmi_ap_set_apsd() argument
3449 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_AP_SET_APSD_CMDID, in ath6kl_wmi_ap_set_apsd()
3453 int ath6kl_wmi_set_apsd_bfrd_traf(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_set_apsd_bfrd_traf() argument
3468 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_wmi_set_apsd_bfrd_traf()
3473 static int ath6kl_wmi_pspoll_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_pspoll_event_rx() argument
3488 static int ath6kl_wmi_dtimexpiry_event_rx(struct wmi *wmi, u8 *datap, int len, in ath6kl_wmi_dtimexpiry_event_rx() argument
3496 int ath6kl_wmi_set_pvb_cmd(struct wmi *wmi, u8 if_idx, u16 aid, in ath6kl_wmi_set_pvb_cmd() argument
3512 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_AP_SET_PVB_CMDID, in ath6kl_wmi_set_pvb_cmd()
3518 int ath6kl_wmi_set_rx_frame_format_cmd(struct wmi *wmi, u8 if_idx, in ath6kl_wmi_set_rx_frame_format_cmd() argument
3536 ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_RX_FRAME_FORMAT_CMDID, in ath6kl_wmi_set_rx_frame_format_cmd()
3542 int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 if_idx, u8 mgmt_frm_type, in ath6kl_wmi_set_appie_cmd() argument
3562 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_APPIE_CMDID, in ath6kl_wmi_set_appie_cmd()
3566 int ath6kl_wmi_set_ie_cmd(struct wmi *wmi, u8 if_idx, u8 ie_id, u8 ie_field, in ath6kl_wmi_set_ie_cmd() argument
3585 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_IE_CMDID, in ath6kl_wmi_set_ie_cmd()
3589 int ath6kl_wmi_disable_11b_rates_cmd(struct wmi *wmi, bool disable) in ath6kl_wmi_disable_11b_rates_cmd() argument
3603 return ath6kl_wmi_cmd_send(wmi, 0, skb, WMI_DISABLE_11B_RATES_CMDID, in ath6kl_wmi_disable_11b_rates_cmd()
3607 int ath6kl_wmi_remain_on_chnl_cmd(struct wmi *wmi, u8 if_idx, u32 freq, u32 dur) in ath6kl_wmi_remain_on_chnl_cmd() argument
3621 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_REMAIN_ON_CHNL_CMDID, in ath6kl_wmi_remain_on_chnl_cmd()
3629 static int ath6kl_wmi_send_action_cmd(struct wmi *wmi, u8 if_idx, u32 id, in ath6kl_wmi_send_action_cmd() argument
3650 kfree(wmi->last_mgmt_tx_frame); in ath6kl_wmi_send_action_cmd()
3651 wmi->last_mgmt_tx_frame = buf; in ath6kl_wmi_send_action_cmd()
3652 wmi->last_mgmt_tx_frame_len = data_len; in ath6kl_wmi_send_action_cmd()
3663 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SEND_ACTION_CMDID, in ath6kl_wmi_send_action_cmd()
3667 static int __ath6kl_wmi_send_mgmt_cmd(struct wmi *wmi, u8 if_idx, u32 id, in __ath6kl_wmi_send_mgmt_cmd() argument
3688 kfree(wmi->last_mgmt_tx_frame); in __ath6kl_wmi_send_mgmt_cmd()
3689 wmi->last_mgmt_tx_frame = buf; in __ath6kl_wmi_send_mgmt_cmd()
3690 wmi->last_mgmt_tx_frame_len = data_len; in __ath6kl_wmi_send_mgmt_cmd()
3702 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SEND_MGMT_CMDID, in __ath6kl_wmi_send_mgmt_cmd()
3706 int ath6kl_wmi_send_mgmt_cmd(struct wmi *wmi, u8 if_idx, u32 id, u32 freq, in ath6kl_wmi_send_mgmt_cmd() argument
3711 struct ath6kl *ar = wmi->parent_dev; in ath6kl_wmi_send_mgmt_cmd()
3721 status = __ath6kl_wmi_send_mgmt_cmd(ar->wmi, if_idx, id, freq, in ath6kl_wmi_send_mgmt_cmd()
3725 status = ath6kl_wmi_send_action_cmd(ar->wmi, if_idx, id, freq, in ath6kl_wmi_send_mgmt_cmd()
3732 int ath6kl_wmi_send_probe_response_cmd(struct wmi *wmi, u8 if_idx, u32 freq, in ath6kl_wmi_send_probe_response_cmd() argument
3755 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, in ath6kl_wmi_send_probe_response_cmd()
3760 int ath6kl_wmi_probe_report_req_cmd(struct wmi *wmi, u8 if_idx, bool enable) in ath6kl_wmi_probe_report_req_cmd() argument
3773 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_PROBE_REQ_REPORT_CMDID, in ath6kl_wmi_probe_report_req_cmd()
3777 int ath6kl_wmi_info_req_cmd(struct wmi *wmi, u8 if_idx, u32 info_req_flags) in ath6kl_wmi_info_req_cmd() argument
3790 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_GET_P2P_INFO_CMDID, in ath6kl_wmi_info_req_cmd()
3794 int ath6kl_wmi_cancel_remain_on_chnl_cmd(struct wmi *wmi, u8 if_idx) in ath6kl_wmi_cancel_remain_on_chnl_cmd() argument
3797 return ath6kl_wmi_simple_cmd(wmi, if_idx, in ath6kl_wmi_cancel_remain_on_chnl_cmd()
3801 int ath6kl_wmi_set_inact_period(struct wmi *wmi, u8 if_idx, int inact_timeout) in ath6kl_wmi_set_inact_period() argument
3814 return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_AP_CONN_INACT_CMDID, in ath6kl_wmi_set_inact_period()
3818 static void ath6kl_wmi_hb_challenge_resp_event(struct wmi *wmi, u8 *datap, in ath6kl_wmi_hb_challenge_resp_event() argument
3827 ath6kl_recovery_hb_event(wmi->parent_dev, in ath6kl_wmi_hb_challenge_resp_event()
3831 static int ath6kl_wmi_control_rx_xtnd(struct wmi *wmi, struct sk_buff *skb) in ath6kl_wmi_control_rx_xtnd() argument
3855 ath6kl_wmi_hb_challenge_resp_event(wmi, datap, len); in ath6kl_wmi_control_rx_xtnd()
3859 ath6kl_debug_fwlog_event(wmi->parent_dev, datap, len); in ath6kl_wmi_control_rx_xtnd()
3870 static int ath6kl_wmi_roam_tbl_event_rx(struct wmi *wmi, u8 *datap, int len) in ath6kl_wmi_roam_tbl_event_rx() argument
3872 return ath6kl_debug_roam_tbl_event(wmi->parent_dev, datap, len); in ath6kl_wmi_roam_tbl_event_rx()
3876 static int ath6kl_wmi_proc_events_vif(struct wmi *wmi, u16 if_idx, u16 cmd_id, in ath6kl_wmi_proc_events_vif() argument
3881 vif = ath6kl_get_vif_by_index(wmi->parent_dev, if_idx); in ath6kl_wmi_proc_events_vif()
3892 return ath6kl_wmi_connect_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3895 return ath6kl_wmi_disconnect_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3898 return ath6kl_wmi_tkip_micerr_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3901 return ath6kl_wmi_bssinfo_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3904 return ath6kl_wmi_neighbor_report_event_rx(wmi, datap, len, in ath6kl_wmi_proc_events_vif()
3908 return ath6kl_wmi_scan_complete_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3911 return ath6kl_wmi_stats_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3914 return ath6kl_wmi_cac_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3917 return ath6kl_wmi_pspoll_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3920 return ath6kl_wmi_dtimexpiry_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3923 return ath6kl_wmi_addba_req_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3926 return ath6kl_wmi_delba_req_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3930 return ath6kl_wmi_host_sleep_mode_cmd_prcd_evt_rx(wmi, vif); in ath6kl_wmi_proc_events_vif()
3933 return ath6kl_wmi_remain_on_chnl_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3937 return ath6kl_wmi_cancel_remain_on_chnl_event_rx(wmi, datap, in ath6kl_wmi_proc_events_vif()
3941 return ath6kl_wmi_tx_status_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3944 return ath6kl_wmi_rx_probe_req_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3947 return ath6kl_wmi_rx_action_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3950 return ath6kl_wmi_txe_notify_event_rx(wmi, datap, len, vif); in ath6kl_wmi_proc_events_vif()
3959 static int ath6kl_wmi_proc_events(struct wmi *wmi, struct sk_buff *skb) in ath6kl_wmi_proc_events() argument
3983 ret = ath6kl_wmi_bitrate_reply_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
3987 ret = ath6kl_wmi_ch_list_reply_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
3991 ret = ath6kl_wmi_tx_pwr_reply_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
3995 ret = ath6kl_wmi_ready_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
3999 ret = ath6kl_wmi_peer_node_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4003 ath6kl_wmi_regdomain_event(wmi, datap, len); in ath6kl_wmi_proc_events()
4007 ret = ath6kl_wmi_pstream_timeout_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4011 ret = ath6kl_wmi_error_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4015 ret = ath6kl_wmi_rssi_threshold_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4026 ret = ath6kl_wmi_roam_tbl_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4030 ret = ath6kl_wmi_control_rx_xtnd(wmi, skb); in ath6kl_wmi_proc_events()
4040 ret = ath6kl_wmi_test_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4044 ret = ath6kl_wmi_ratemask_reply_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4051 ret = ath6kl_wmi_snr_threshold_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4058 ret = ath6kl_wmi_aplist_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4062 ret = ath6kl_wmi_keepalive_reply_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4069 ret = ath6kl_wmi_get_pmkid_list_event_rx(wmi, datap, len); in ath6kl_wmi_proc_events()
4099 ret = ath6kl_wmi_proc_events_vif(wmi, if_idx, id, datap, len); in ath6kl_wmi_proc_events()
4108 int ath6kl_wmi_control_rx(struct wmi *wmi, struct sk_buff *skb) in ath6kl_wmi_control_rx() argument
4121 return ath6kl_wmi_proc_events(wmi, skb); in ath6kl_wmi_control_rx()
4124 void ath6kl_wmi_reset(struct wmi *wmi) in ath6kl_wmi_reset() argument
4126 spin_lock_bh(&wmi->lock); in ath6kl_wmi_reset()
4128 wmi->fat_pipe_exist = 0; in ath6kl_wmi_reset()
4129 memset(wmi->stream_exist_for_ac, 0, sizeof(wmi->stream_exist_for_ac)); in ath6kl_wmi_reset()
4131 spin_unlock_bh(&wmi->lock); in ath6kl_wmi_reset()
4136 struct wmi *wmi; in ath6kl_wmi_init() local
4138 wmi = kzalloc(sizeof(struct wmi), GFP_KERNEL); in ath6kl_wmi_init()
4139 if (!wmi) in ath6kl_wmi_init()
4142 spin_lock_init(&wmi->lock); in ath6kl_wmi_init()
4144 wmi->parent_dev = dev; in ath6kl_wmi_init()
4146 wmi->pwr_mode = REC_POWER; in ath6kl_wmi_init()
4148 ath6kl_wmi_reset(wmi); in ath6kl_wmi_init()
4150 return wmi; in ath6kl_wmi_init()
4153 void ath6kl_wmi_shutdown(struct wmi *wmi) in ath6kl_wmi_shutdown() argument
4155 if (!wmi) in ath6kl_wmi_shutdown()
4158 kfree(wmi->last_mgmt_tx_frame); in ath6kl_wmi_shutdown()
4159 kfree(wmi); in ath6kl_wmi_shutdown()