Lines Matching refs:arg
853 const struct wmi_channel_arg *arg) in ath10k_wmi_put_wmi_channel() argument
859 if (arg->passive) in ath10k_wmi_put_wmi_channel()
861 if (arg->allow_ibss) in ath10k_wmi_put_wmi_channel()
863 if (arg->allow_ht) in ath10k_wmi_put_wmi_channel()
865 if (arg->allow_vht) in ath10k_wmi_put_wmi_channel()
867 if (arg->ht40plus) in ath10k_wmi_put_wmi_channel()
869 if (arg->chan_radar) in ath10k_wmi_put_wmi_channel()
872 ch->mhz = __cpu_to_le32(arg->freq); in ath10k_wmi_put_wmi_channel()
873 ch->band_center_freq1 = __cpu_to_le32(arg->band_center_freq1); in ath10k_wmi_put_wmi_channel()
875 ch->min_power = arg->min_power; in ath10k_wmi_put_wmi_channel()
876 ch->max_power = arg->max_power; in ath10k_wmi_put_wmi_channel()
877 ch->reg_power = arg->max_reg_power; in ath10k_wmi_put_wmi_channel()
878 ch->antenna_max = arg->max_antenna_gain; in ath10k_wmi_put_wmi_channel()
881 ch->mode = arg->mode; in ath10k_wmi_put_wmi_channel()
1249 struct wmi_scan_ev_arg *arg) in ath10k_wmi_op_pull_scan_ev() argument
1257 arg->event_type = ev->event_type; in ath10k_wmi_op_pull_scan_ev()
1258 arg->reason = ev->reason; in ath10k_wmi_op_pull_scan_ev()
1259 arg->channel_freq = ev->channel_freq; in ath10k_wmi_op_pull_scan_ev()
1260 arg->scan_req_id = ev->scan_req_id; in ath10k_wmi_op_pull_scan_ev()
1261 arg->scan_id = ev->scan_id; in ath10k_wmi_op_pull_scan_ev()
1262 arg->vdev_id = ev->vdev_id; in ath10k_wmi_op_pull_scan_ev()
1269 struct wmi_scan_ev_arg arg = {}; in ath10k_wmi_event_scan() local
1278 ret = ath10k_wmi_pull_scan(ar, skb, &arg); in ath10k_wmi_event_scan()
1284 event_type = __le32_to_cpu(arg.event_type); in ath10k_wmi_event_scan()
1285 reason = __le32_to_cpu(arg.reason); in ath10k_wmi_event_scan()
1286 freq = __le32_to_cpu(arg.channel_freq); in ath10k_wmi_event_scan()
1287 req_id = __le32_to_cpu(arg.scan_req_id); in ath10k_wmi_event_scan()
1288 scan_id = __le32_to_cpu(arg.scan_id); in ath10k_wmi_event_scan()
1289 vdev_id = __le32_to_cpu(arg.vdev_id); in ath10k_wmi_event_scan()
1446 struct wmi_mgmt_rx_ev_arg *arg) in ath10k_wmi_op_pull_mgmt_rx_ev() argument
1468 arg->channel = ev_hdr->channel; in ath10k_wmi_op_pull_mgmt_rx_ev()
1469 arg->buf_len = ev_hdr->buf_len; in ath10k_wmi_op_pull_mgmt_rx_ev()
1470 arg->status = ev_hdr->status; in ath10k_wmi_op_pull_mgmt_rx_ev()
1471 arg->snr = ev_hdr->snr; in ath10k_wmi_op_pull_mgmt_rx_ev()
1472 arg->phy_mode = ev_hdr->phy_mode; in ath10k_wmi_op_pull_mgmt_rx_ev()
1473 arg->rate = ev_hdr->rate; in ath10k_wmi_op_pull_mgmt_rx_ev()
1475 msdu_len = __le32_to_cpu(arg->buf_len); in ath10k_wmi_op_pull_mgmt_rx_ev()
1489 struct wmi_mgmt_rx_ev_arg arg = {}; in ath10k_wmi_event_mgmt_rx() local
1501 ret = ath10k_wmi_pull_mgmt_rx(ar, skb, &arg); in ath10k_wmi_event_mgmt_rx()
1507 channel = __le32_to_cpu(arg.channel); in ath10k_wmi_event_mgmt_rx()
1508 buf_len = __le32_to_cpu(arg.buf_len); in ath10k_wmi_event_mgmt_rx()
1509 rx_status = __le32_to_cpu(arg.status); in ath10k_wmi_event_mgmt_rx()
1510 snr = __le32_to_cpu(arg.snr); in ath10k_wmi_event_mgmt_rx()
1511 phy_mode = __le32_to_cpu(arg.phy_mode); in ath10k_wmi_event_mgmt_rx()
1512 rate = __le32_to_cpu(arg.rate); in ath10k_wmi_event_mgmt_rx()
1622 struct wmi_ch_info_ev_arg *arg) in ath10k_wmi_op_pull_ch_info_ev() argument
1630 arg->err_code = ev->err_code; in ath10k_wmi_op_pull_ch_info_ev()
1631 arg->freq = ev->freq; in ath10k_wmi_op_pull_ch_info_ev()
1632 arg->cmd_flags = ev->cmd_flags; in ath10k_wmi_op_pull_ch_info_ev()
1633 arg->noise_floor = ev->noise_floor; in ath10k_wmi_op_pull_ch_info_ev()
1634 arg->rx_clear_count = ev->rx_clear_count; in ath10k_wmi_op_pull_ch_info_ev()
1635 arg->cycle_count = ev->cycle_count; in ath10k_wmi_op_pull_ch_info_ev()
1642 struct wmi_ch_info_ev_arg arg = {}; in ath10k_wmi_event_chan_info() local
1647 ret = ath10k_wmi_pull_ch_info(ar, skb, &arg); in ath10k_wmi_event_chan_info()
1653 err_code = __le32_to_cpu(arg.err_code); in ath10k_wmi_event_chan_info()
1654 freq = __le32_to_cpu(arg.freq); in ath10k_wmi_event_chan_info()
1655 cmd_flags = __le32_to_cpu(arg.cmd_flags); in ath10k_wmi_event_chan_info()
1656 noise_floor = __le32_to_cpu(arg.noise_floor); in ath10k_wmi_event_chan_info()
1657 rx_clear_count = __le32_to_cpu(arg.rx_clear_count); in ath10k_wmi_event_chan_info()
1658 cycle_count = __le32_to_cpu(arg.cycle_count); in ath10k_wmi_event_chan_info()
2080 struct wmi_vdev_start_ev_arg *arg) in ath10k_wmi_op_pull_vdev_start_ev() argument
2088 arg->vdev_id = ev->vdev_id; in ath10k_wmi_op_pull_vdev_start_ev()
2089 arg->req_id = ev->req_id; in ath10k_wmi_op_pull_vdev_start_ev()
2090 arg->resp_type = ev->resp_type; in ath10k_wmi_op_pull_vdev_start_ev()
2091 arg->status = ev->status; in ath10k_wmi_op_pull_vdev_start_ev()
2098 struct wmi_vdev_start_ev_arg arg = {}; in ath10k_wmi_event_vdev_start_resp() local
2103 ret = ath10k_wmi_pull_vdev_start(ar, skb, &arg); in ath10k_wmi_event_vdev_start_resp()
2109 if (WARN_ON(__le32_to_cpu(arg.status))) in ath10k_wmi_event_vdev_start_resp()
2123 struct wmi_peer_kick_ev_arg *arg) in ath10k_wmi_op_pull_peer_kick_ev() argument
2131 arg->mac_addr = ev->peer_macaddr.addr; in ath10k_wmi_op_pull_peer_kick_ev()
2138 struct wmi_peer_kick_ev_arg arg = {}; in ath10k_wmi_event_peer_sta_kickout() local
2142 ret = ath10k_wmi_pull_peer_kick(ar, skb, &arg); in ath10k_wmi_event_peer_sta_kickout()
2150 arg.mac_addr); in ath10k_wmi_event_peer_sta_kickout()
2154 sta = ieee80211_find_sta_by_ifaddr(ar->hw, arg.mac_addr, NULL); in ath10k_wmi_event_peer_sta_kickout()
2157 arg.mac_addr); in ath10k_wmi_event_peer_sta_kickout()
2385 struct wmi_swba_ev_arg *arg) in ath10k_wmi_op_pull_swba_ev() argument
2395 arg->vdev_map = ev->vdev_map; in ath10k_wmi_op_pull_swba_ev()
2404 if (WARN_ON_ONCE(i == ARRAY_SIZE(arg->tim_info))) in ath10k_wmi_op_pull_swba_ev()
2407 arg->tim_info[i] = &ev->bcn_info[i].tim_info; in ath10k_wmi_op_pull_swba_ev()
2408 arg->noa_info[i] = &ev->bcn_info[i].p2p_noa_info; in ath10k_wmi_op_pull_swba_ev()
2417 struct wmi_swba_ev_arg arg = {}; in ath10k_wmi_event_host_swba() local
2427 ret = ath10k_wmi_pull_swba(ar, skb, &arg); in ath10k_wmi_event_host_swba()
2433 map = __le32_to_cpu(arg.vdev_map); in ath10k_wmi_event_host_swba()
2449 tim_info = arg.tim_info[i]; in ath10k_wmi_event_host_swba()
2450 noa_info = arg.noa_info[i]; in ath10k_wmi_event_host_swba()
2789 struct wmi_phyerr_ev_arg *arg) in ath10k_wmi_op_pull_phyerr_ev() argument
2796 arg->num_phyerrs = ev->num_phyerrs; in ath10k_wmi_op_pull_phyerr_ev()
2797 arg->tsf_l32 = ev->tsf_l32; in ath10k_wmi_op_pull_phyerr_ev()
2798 arg->tsf_u32 = ev->tsf_u32; in ath10k_wmi_op_pull_phyerr_ev()
2799 arg->buf_len = __cpu_to_le32(skb->len - sizeof(*ev)); in ath10k_wmi_op_pull_phyerr_ev()
2800 arg->phyerrs = ev->phyerrs; in ath10k_wmi_op_pull_phyerr_ev()
2807 struct wmi_phyerr_ev_arg arg = {}; in ath10k_wmi_event_phyerr() local
2815 ret = ath10k_wmi_pull_phyerr(ar, skb, &arg); in ath10k_wmi_event_phyerr()
2821 left_len = __le32_to_cpu(arg.buf_len); in ath10k_wmi_event_phyerr()
2824 count = __le32_to_cpu(arg.num_phyerrs); in ath10k_wmi_event_phyerr()
2826 tsf = __le32_to_cpu(arg.tsf_u32); in ath10k_wmi_event_phyerr()
2828 tsf |= __le32_to_cpu(arg.tsf_l32); in ath10k_wmi_event_phyerr()
2834 phyerr = arg.phyerrs; in ath10k_wmi_event_phyerr()
3038 struct wmi_svc_rdy_ev_arg *arg) in ath10k_wmi_main_op_pull_svc_rdy_ev() argument
3048 arg->min_tx_power = ev->hw_min_tx_power; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3049 arg->max_tx_power = ev->hw_max_tx_power; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3050 arg->ht_cap = ev->ht_cap_info; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3051 arg->vht_cap = ev->vht_cap_info; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3052 arg->sw_ver0 = ev->sw_version; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3053 arg->sw_ver1 = ev->sw_version_1; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3054 arg->phy_capab = ev->phy_capability; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3055 arg->num_rf_chains = ev->num_rf_chains; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3056 arg->eeprom_rd = ev->hal_reg_capabilities.eeprom_rd; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3057 arg->num_mem_reqs = ev->num_mem_reqs; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3058 arg->service_map = ev->wmi_service_bitmap; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3059 arg->service_map_len = sizeof(ev->wmi_service_bitmap); in ath10k_wmi_main_op_pull_svc_rdy_ev()
3061 n = min_t(size_t, __le32_to_cpu(arg->num_mem_reqs), in ath10k_wmi_main_op_pull_svc_rdy_ev()
3062 ARRAY_SIZE(arg->mem_reqs)); in ath10k_wmi_main_op_pull_svc_rdy_ev()
3064 arg->mem_reqs[i] = &ev->mem_reqs[i]; in ath10k_wmi_main_op_pull_svc_rdy_ev()
3067 __le32_to_cpu(arg->num_mem_reqs) * sizeof(arg->mem_reqs[0])) in ath10k_wmi_main_op_pull_svc_rdy_ev()
3075 struct wmi_svc_rdy_ev_arg *arg) in ath10k_wmi_10x_op_pull_svc_rdy_ev() argument
3085 arg->min_tx_power = ev->hw_min_tx_power; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3086 arg->max_tx_power = ev->hw_max_tx_power; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3087 arg->ht_cap = ev->ht_cap_info; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3088 arg->vht_cap = ev->vht_cap_info; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3089 arg->sw_ver0 = ev->sw_version; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3090 arg->phy_capab = ev->phy_capability; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3091 arg->num_rf_chains = ev->num_rf_chains; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3092 arg->eeprom_rd = ev->hal_reg_capabilities.eeprom_rd; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3093 arg->num_mem_reqs = ev->num_mem_reqs; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3094 arg->service_map = ev->wmi_service_bitmap; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3095 arg->service_map_len = sizeof(ev->wmi_service_bitmap); in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3097 n = min_t(size_t, __le32_to_cpu(arg->num_mem_reqs), in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3098 ARRAY_SIZE(arg->mem_reqs)); in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3100 arg->mem_reqs[i] = &ev->mem_reqs[i]; in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3103 __le32_to_cpu(arg->num_mem_reqs) * sizeof(arg->mem_reqs[0])) in ath10k_wmi_10x_op_pull_svc_rdy_ev()
3111 struct wmi_svc_rdy_ev_arg arg = {}; in ath10k_wmi_event_service_ready() local
3115 ret = ath10k_wmi_pull_svc_rdy(ar, skb, &arg); in ath10k_wmi_event_service_ready()
3122 ath10k_wmi_map_svc(ar, arg.service_map, ar->wmi.svc_map, in ath10k_wmi_event_service_ready()
3123 arg.service_map_len); in ath10k_wmi_event_service_ready()
3125 ar->hw_min_tx_power = __le32_to_cpu(arg.min_tx_power); in ath10k_wmi_event_service_ready()
3126 ar->hw_max_tx_power = __le32_to_cpu(arg.max_tx_power); in ath10k_wmi_event_service_ready()
3127 ar->ht_cap_info = __le32_to_cpu(arg.ht_cap); in ath10k_wmi_event_service_ready()
3128 ar->vht_cap_info = __le32_to_cpu(arg.vht_cap); in ath10k_wmi_event_service_ready()
3130 (__le32_to_cpu(arg.sw_ver0) & 0xff000000) >> 24; in ath10k_wmi_event_service_ready()
3131 ar->fw_version_minor = (__le32_to_cpu(arg.sw_ver0) & 0x00ffffff); in ath10k_wmi_event_service_ready()
3133 (__le32_to_cpu(arg.sw_ver1) & 0xffff0000) >> 16; in ath10k_wmi_event_service_ready()
3134 ar->fw_version_build = (__le32_to_cpu(arg.sw_ver1) & 0x0000ffff); in ath10k_wmi_event_service_ready()
3135 ar->phy_capability = __le32_to_cpu(arg.phy_capab); in ath10k_wmi_event_service_ready()
3136 ar->num_rf_chains = __le32_to_cpu(arg.num_rf_chains); in ath10k_wmi_event_service_ready()
3137 ar->ath_common.regulatory.current_rd = __le32_to_cpu(arg.eeprom_rd); in ath10k_wmi_event_service_ready()
3140 arg.service_map, arg.service_map_len); in ath10k_wmi_event_service_ready()
3165 num_mem_reqs = __le32_to_cpu(arg.num_mem_reqs); in ath10k_wmi_event_service_ready()
3173 req_id = __le32_to_cpu(arg.mem_reqs[i]->req_id); in ath10k_wmi_event_service_ready()
3174 num_units = __le32_to_cpu(arg.mem_reqs[i]->num_units); in ath10k_wmi_event_service_ready()
3175 unit_size = __le32_to_cpu(arg.mem_reqs[i]->unit_size); in ath10k_wmi_event_service_ready()
3176 num_unit_info = __le32_to_cpu(arg.mem_reqs[i]->num_unit_info); in ath10k_wmi_event_service_ready()
3190 __le32_to_cpu(arg.mem_reqs[i]->num_units), in ath10k_wmi_event_service_ready()
3203 __le32_to_cpu(arg.min_tx_power), in ath10k_wmi_event_service_ready()
3204 __le32_to_cpu(arg.max_tx_power), in ath10k_wmi_event_service_ready()
3205 __le32_to_cpu(arg.ht_cap), in ath10k_wmi_event_service_ready()
3206 __le32_to_cpu(arg.vht_cap), in ath10k_wmi_event_service_ready()
3207 __le32_to_cpu(arg.sw_ver0), in ath10k_wmi_event_service_ready()
3208 __le32_to_cpu(arg.sw_ver1), in ath10k_wmi_event_service_ready()
3209 __le32_to_cpu(arg.fw_build), in ath10k_wmi_event_service_ready()
3210 __le32_to_cpu(arg.phy_capab), in ath10k_wmi_event_service_ready()
3211 __le32_to_cpu(arg.num_rf_chains), in ath10k_wmi_event_service_ready()
3212 __le32_to_cpu(arg.eeprom_rd), in ath10k_wmi_event_service_ready()
3213 __le32_to_cpu(arg.num_mem_reqs)); in ath10k_wmi_event_service_ready()
3219 struct wmi_rdy_ev_arg *arg) in ath10k_wmi_op_pull_rdy_ev() argument
3227 arg->sw_version = ev->sw_version; in ath10k_wmi_op_pull_rdy_ev()
3228 arg->abi_version = ev->abi_version; in ath10k_wmi_op_pull_rdy_ev()
3229 arg->status = ev->status; in ath10k_wmi_op_pull_rdy_ev()
3230 arg->mac_addr = ev->mac_addr.addr; in ath10k_wmi_op_pull_rdy_ev()
3237 struct wmi_rdy_ev_arg arg = {}; in ath10k_wmi_event_ready() local
3240 ret = ath10k_wmi_pull_rdy(ar, skb, &arg); in ath10k_wmi_event_ready()
3248 __le32_to_cpu(arg.sw_version), in ath10k_wmi_event_ready()
3249 __le32_to_cpu(arg.abi_version), in ath10k_wmi_event_ready()
3250 arg.mac_addr, in ath10k_wmi_event_ready()
3251 __le32_to_cpu(arg.status)); in ath10k_wmi_event_ready()
3253 ether_addr_copy(ar->mac_addr, arg.mac_addr); in ath10k_wmi_event_ready()
4002 int ath10k_wmi_start_scan_verify(const struct wmi_start_scan_arg *arg) in ath10k_wmi_start_scan_verify() argument
4004 if (arg->ie_len && !arg->ie) in ath10k_wmi_start_scan_verify()
4006 if (arg->n_channels && !arg->channels) in ath10k_wmi_start_scan_verify()
4008 if (arg->n_ssids && !arg->ssids) in ath10k_wmi_start_scan_verify()
4010 if (arg->n_bssids && !arg->bssids) in ath10k_wmi_start_scan_verify()
4013 if (arg->ie_len > WLAN_SCAN_PARAMS_MAX_IE_LEN) in ath10k_wmi_start_scan_verify()
4015 if (arg->n_channels > ARRAY_SIZE(arg->channels)) in ath10k_wmi_start_scan_verify()
4017 if (arg->n_ssids > WLAN_SCAN_PARAMS_MAX_SSID) in ath10k_wmi_start_scan_verify()
4019 if (arg->n_bssids > WLAN_SCAN_PARAMS_MAX_BSSID) in ath10k_wmi_start_scan_verify()
4026 ath10k_wmi_start_scan_tlvs_len(const struct wmi_start_scan_arg *arg) in ath10k_wmi_start_scan_tlvs_len() argument
4030 if (arg->ie_len) { in ath10k_wmi_start_scan_tlvs_len()
4032 len += roundup(arg->ie_len, 4); in ath10k_wmi_start_scan_tlvs_len()
4035 if (arg->n_channels) { in ath10k_wmi_start_scan_tlvs_len()
4037 len += sizeof(__le32) * arg->n_channels; in ath10k_wmi_start_scan_tlvs_len()
4040 if (arg->n_ssids) { in ath10k_wmi_start_scan_tlvs_len()
4042 len += sizeof(struct wmi_ssid) * arg->n_ssids; in ath10k_wmi_start_scan_tlvs_len()
4045 if (arg->n_bssids) { in ath10k_wmi_start_scan_tlvs_len()
4047 len += sizeof(struct wmi_mac_addr) * arg->n_bssids; in ath10k_wmi_start_scan_tlvs_len()
4054 const struct wmi_start_scan_arg *arg) in ath10k_wmi_put_start_scan_common() argument
4060 scan_id |= arg->scan_id; in ath10k_wmi_put_start_scan_common()
4063 scan_req_id |= arg->scan_req_id; in ath10k_wmi_put_start_scan_common()
4067 cmn->vdev_id = __cpu_to_le32(arg->vdev_id); in ath10k_wmi_put_start_scan_common()
4068 cmn->scan_priority = __cpu_to_le32(arg->scan_priority); in ath10k_wmi_put_start_scan_common()
4069 cmn->notify_scan_events = __cpu_to_le32(arg->notify_scan_events); in ath10k_wmi_put_start_scan_common()
4070 cmn->dwell_time_active = __cpu_to_le32(arg->dwell_time_active); in ath10k_wmi_put_start_scan_common()
4071 cmn->dwell_time_passive = __cpu_to_le32(arg->dwell_time_passive); in ath10k_wmi_put_start_scan_common()
4072 cmn->min_rest_time = __cpu_to_le32(arg->min_rest_time); in ath10k_wmi_put_start_scan_common()
4073 cmn->max_rest_time = __cpu_to_le32(arg->max_rest_time); in ath10k_wmi_put_start_scan_common()
4074 cmn->repeat_probe_time = __cpu_to_le32(arg->repeat_probe_time); in ath10k_wmi_put_start_scan_common()
4075 cmn->probe_spacing_time = __cpu_to_le32(arg->probe_spacing_time); in ath10k_wmi_put_start_scan_common()
4076 cmn->idle_time = __cpu_to_le32(arg->idle_time); in ath10k_wmi_put_start_scan_common()
4077 cmn->max_scan_time = __cpu_to_le32(arg->max_scan_time); in ath10k_wmi_put_start_scan_common()
4078 cmn->probe_delay = __cpu_to_le32(arg->probe_delay); in ath10k_wmi_put_start_scan_common()
4079 cmn->scan_ctrl_flags = __cpu_to_le32(arg->scan_ctrl_flags); in ath10k_wmi_put_start_scan_common()
4084 const struct wmi_start_scan_arg *arg) in ath10k_wmi_put_start_scan_tlvs() argument
4093 if (arg->n_channels) { in ath10k_wmi_put_start_scan_tlvs()
4096 channels->num_chan = __cpu_to_le32(arg->n_channels); in ath10k_wmi_put_start_scan_tlvs()
4098 for (i = 0; i < arg->n_channels; i++) in ath10k_wmi_put_start_scan_tlvs()
4100 __cpu_to_le16(arg->channels[i]); in ath10k_wmi_put_start_scan_tlvs()
4103 ptr += sizeof(__le32) * arg->n_channels; in ath10k_wmi_put_start_scan_tlvs()
4106 if (arg->n_ssids) { in ath10k_wmi_put_start_scan_tlvs()
4109 ssids->num_ssids = __cpu_to_le32(arg->n_ssids); in ath10k_wmi_put_start_scan_tlvs()
4111 for (i = 0; i < arg->n_ssids; i++) { in ath10k_wmi_put_start_scan_tlvs()
4113 __cpu_to_le32(arg->ssids[i].len); in ath10k_wmi_put_start_scan_tlvs()
4115 arg->ssids[i].ssid, in ath10k_wmi_put_start_scan_tlvs()
4116 arg->ssids[i].len); in ath10k_wmi_put_start_scan_tlvs()
4120 ptr += sizeof(struct wmi_ssid) * arg->n_ssids; in ath10k_wmi_put_start_scan_tlvs()
4123 if (arg->n_bssids) { in ath10k_wmi_put_start_scan_tlvs()
4126 bssids->num_bssid = __cpu_to_le32(arg->n_bssids); in ath10k_wmi_put_start_scan_tlvs()
4128 for (i = 0; i < arg->n_bssids; i++) in ath10k_wmi_put_start_scan_tlvs()
4130 arg->bssids[i].bssid, in ath10k_wmi_put_start_scan_tlvs()
4134 ptr += sizeof(struct wmi_mac_addr) * arg->n_bssids; in ath10k_wmi_put_start_scan_tlvs()
4137 if (arg->ie_len) { in ath10k_wmi_put_start_scan_tlvs()
4140 ie->ie_len = __cpu_to_le32(arg->ie_len); in ath10k_wmi_put_start_scan_tlvs()
4141 memcpy(ie->ie_data, arg->ie, arg->ie_len); in ath10k_wmi_put_start_scan_tlvs()
4144 ptr += roundup(arg->ie_len, 4); in ath10k_wmi_put_start_scan_tlvs()
4150 const struct wmi_start_scan_arg *arg) in ath10k_wmi_op_gen_start_scan() argument
4157 ret = ath10k_wmi_start_scan_verify(arg); in ath10k_wmi_op_gen_start_scan()
4161 len = sizeof(*cmd) + ath10k_wmi_start_scan_tlvs_len(arg); in ath10k_wmi_op_gen_start_scan()
4168 ath10k_wmi_put_start_scan_common(&cmd->common, arg); in ath10k_wmi_op_gen_start_scan()
4169 ath10k_wmi_put_start_scan_tlvs(&cmd->tlvs, arg); in ath10k_wmi_op_gen_start_scan()
4179 const struct wmi_start_scan_arg *arg) in ath10k_wmi_10x_op_gen_start_scan() argument
4186 ret = ath10k_wmi_start_scan_verify(arg); in ath10k_wmi_10x_op_gen_start_scan()
4190 len = sizeof(*cmd) + ath10k_wmi_start_scan_tlvs_len(arg); in ath10k_wmi_10x_op_gen_start_scan()
4197 ath10k_wmi_put_start_scan_common(&cmd->common, arg); in ath10k_wmi_10x_op_gen_start_scan()
4198 ath10k_wmi_put_start_scan_tlvs(&cmd->tlvs, arg); in ath10k_wmi_10x_op_gen_start_scan()
4205 struct wmi_start_scan_arg *arg) in ath10k_wmi_start_scan_init() argument
4208 arg->scan_req_id = 1; in ath10k_wmi_start_scan_init()
4209 arg->scan_priority = WMI_SCAN_PRIORITY_LOW; in ath10k_wmi_start_scan_init()
4210 arg->dwell_time_active = 50; in ath10k_wmi_start_scan_init()
4211 arg->dwell_time_passive = 150; in ath10k_wmi_start_scan_init()
4212 arg->min_rest_time = 50; in ath10k_wmi_start_scan_init()
4213 arg->max_rest_time = 500; in ath10k_wmi_start_scan_init()
4214 arg->repeat_probe_time = 0; in ath10k_wmi_start_scan_init()
4215 arg->probe_spacing_time = 0; in ath10k_wmi_start_scan_init()
4216 arg->idle_time = 0; in ath10k_wmi_start_scan_init()
4217 arg->max_scan_time = 20000; in ath10k_wmi_start_scan_init()
4218 arg->probe_delay = 5; in ath10k_wmi_start_scan_init()
4219 arg->notify_scan_events = WMI_SCAN_EVENT_STARTED in ath10k_wmi_start_scan_init()
4224 arg->scan_ctrl_flags |= WMI_SCAN_ADD_OFDM_RATES; in ath10k_wmi_start_scan_init()
4225 arg->scan_ctrl_flags |= WMI_SCAN_CHAN_STAT_EVENT; in ath10k_wmi_start_scan_init()
4226 arg->n_bssids = 1; in ath10k_wmi_start_scan_init()
4227 arg->bssids[0].bssid = "\xFF\xFF\xFF\xFF\xFF\xFF"; in ath10k_wmi_start_scan_init()
4232 const struct wmi_stop_scan_arg *arg) in ath10k_wmi_op_gen_stop_scan() argument
4239 if (arg->req_id > 0xFFF) in ath10k_wmi_op_gen_stop_scan()
4241 if (arg->req_type == WMI_SCAN_STOP_ONE && arg->u.scan_id > 0xFFF) in ath10k_wmi_op_gen_stop_scan()
4248 scan_id = arg->u.scan_id; in ath10k_wmi_op_gen_stop_scan()
4251 req_id = arg->req_id; in ath10k_wmi_op_gen_stop_scan()
4255 cmd->req_type = __cpu_to_le32(arg->req_type); in ath10k_wmi_op_gen_stop_scan()
4256 cmd->vdev_id = __cpu_to_le32(arg->u.vdev_id); in ath10k_wmi_op_gen_stop_scan()
4262 arg->req_id, arg->req_type, arg->u.scan_id); in ath10k_wmi_op_gen_stop_scan()
4311 const struct wmi_vdev_start_request_arg *arg, in ath10k_wmi_op_gen_vdev_start() argument
4319 if (WARN_ON(arg->ssid && arg->ssid_len == 0)) in ath10k_wmi_op_gen_vdev_start()
4321 if (WARN_ON(arg->hidden_ssid && !arg->ssid)) in ath10k_wmi_op_gen_vdev_start()
4323 if (WARN_ON(arg->ssid_len > sizeof(cmd->ssid.ssid))) in ath10k_wmi_op_gen_vdev_start()
4335 if (arg->hidden_ssid) in ath10k_wmi_op_gen_vdev_start()
4337 if (arg->pmf_enabled) in ath10k_wmi_op_gen_vdev_start()
4341 cmd->vdev_id = __cpu_to_le32(arg->vdev_id); in ath10k_wmi_op_gen_vdev_start()
4342 cmd->disable_hw_ack = __cpu_to_le32(arg->disable_hw_ack); in ath10k_wmi_op_gen_vdev_start()
4343 cmd->beacon_interval = __cpu_to_le32(arg->bcn_intval); in ath10k_wmi_op_gen_vdev_start()
4344 cmd->dtim_period = __cpu_to_le32(arg->dtim_period); in ath10k_wmi_op_gen_vdev_start()
4346 cmd->bcn_tx_rate = __cpu_to_le32(arg->bcn_tx_rate); in ath10k_wmi_op_gen_vdev_start()
4347 cmd->bcn_tx_power = __cpu_to_le32(arg->bcn_tx_power); in ath10k_wmi_op_gen_vdev_start()
4349 if (arg->ssid) { in ath10k_wmi_op_gen_vdev_start()
4350 cmd->ssid.ssid_len = __cpu_to_le32(arg->ssid_len); in ath10k_wmi_op_gen_vdev_start()
4351 memcpy(cmd->ssid.ssid, arg->ssid, arg->ssid_len); in ath10k_wmi_op_gen_vdev_start()
4354 ath10k_wmi_put_wmi_channel(&cmd->chan, &arg->channel); in ath10k_wmi_op_gen_vdev_start()
4358 cmdname, arg->vdev_id, in ath10k_wmi_op_gen_vdev_start()
4359 flags, arg->channel.freq, arg->channel.mode, in ath10k_wmi_op_gen_vdev_start()
4360 cmd->chan.flags, arg->channel.max_power); in ath10k_wmi_op_gen_vdev_start()
4453 const struct wmi_vdev_install_key_arg *arg) in ath10k_wmi_op_gen_vdev_install_key() argument
4458 if (arg->key_cipher == WMI_CIPHER_NONE && arg->key_data != NULL) in ath10k_wmi_op_gen_vdev_install_key()
4460 if (arg->key_cipher != WMI_CIPHER_NONE && arg->key_data == NULL) in ath10k_wmi_op_gen_vdev_install_key()
4463 skb = ath10k_wmi_alloc_skb(ar, sizeof(*cmd) + arg->key_len); in ath10k_wmi_op_gen_vdev_install_key()
4468 cmd->vdev_id = __cpu_to_le32(arg->vdev_id); in ath10k_wmi_op_gen_vdev_install_key()
4469 cmd->key_idx = __cpu_to_le32(arg->key_idx); in ath10k_wmi_op_gen_vdev_install_key()
4470 cmd->key_flags = __cpu_to_le32(arg->key_flags); in ath10k_wmi_op_gen_vdev_install_key()
4471 cmd->key_cipher = __cpu_to_le32(arg->key_cipher); in ath10k_wmi_op_gen_vdev_install_key()
4472 cmd->key_len = __cpu_to_le32(arg->key_len); in ath10k_wmi_op_gen_vdev_install_key()
4473 cmd->key_txmic_len = __cpu_to_le32(arg->key_txmic_len); in ath10k_wmi_op_gen_vdev_install_key()
4474 cmd->key_rxmic_len = __cpu_to_le32(arg->key_rxmic_len); in ath10k_wmi_op_gen_vdev_install_key()
4476 if (arg->macaddr) in ath10k_wmi_op_gen_vdev_install_key()
4477 ether_addr_copy(cmd->peer_macaddr.addr, arg->macaddr); in ath10k_wmi_op_gen_vdev_install_key()
4478 if (arg->key_data) in ath10k_wmi_op_gen_vdev_install_key()
4479 memcpy(cmd->key_data, arg->key_data, arg->key_len); in ath10k_wmi_op_gen_vdev_install_key()
4483 arg->key_idx, arg->key_cipher, arg->key_len); in ath10k_wmi_op_gen_vdev_install_key()
4489 const struct wmi_vdev_spectral_conf_arg *arg) in ath10k_wmi_op_gen_vdev_spectral_conf() argument
4499 cmd->vdev_id = __cpu_to_le32(arg->vdev_id); in ath10k_wmi_op_gen_vdev_spectral_conf()
4500 cmd->scan_count = __cpu_to_le32(arg->scan_count); in ath10k_wmi_op_gen_vdev_spectral_conf()
4501 cmd->scan_period = __cpu_to_le32(arg->scan_period); in ath10k_wmi_op_gen_vdev_spectral_conf()
4502 cmd->scan_priority = __cpu_to_le32(arg->scan_priority); in ath10k_wmi_op_gen_vdev_spectral_conf()
4503 cmd->scan_fft_size = __cpu_to_le32(arg->scan_fft_size); in ath10k_wmi_op_gen_vdev_spectral_conf()
4504 cmd->scan_gc_ena = __cpu_to_le32(arg->scan_gc_ena); in ath10k_wmi_op_gen_vdev_spectral_conf()
4505 cmd->scan_restart_ena = __cpu_to_le32(arg->scan_restart_ena); in ath10k_wmi_op_gen_vdev_spectral_conf()
4506 cmd->scan_noise_floor_ref = __cpu_to_le32(arg->scan_noise_floor_ref); in ath10k_wmi_op_gen_vdev_spectral_conf()
4507 cmd->scan_init_delay = __cpu_to_le32(arg->scan_init_delay); in ath10k_wmi_op_gen_vdev_spectral_conf()
4508 cmd->scan_nb_tone_thr = __cpu_to_le32(arg->scan_nb_tone_thr); in ath10k_wmi_op_gen_vdev_spectral_conf()
4509 cmd->scan_str_bin_thr = __cpu_to_le32(arg->scan_str_bin_thr); in ath10k_wmi_op_gen_vdev_spectral_conf()
4510 cmd->scan_wb_rpt_mode = __cpu_to_le32(arg->scan_wb_rpt_mode); in ath10k_wmi_op_gen_vdev_spectral_conf()
4511 cmd->scan_rssi_rpt_mode = __cpu_to_le32(arg->scan_rssi_rpt_mode); in ath10k_wmi_op_gen_vdev_spectral_conf()
4512 cmd->scan_rssi_thr = __cpu_to_le32(arg->scan_rssi_thr); in ath10k_wmi_op_gen_vdev_spectral_conf()
4513 cmd->scan_pwr_format = __cpu_to_le32(arg->scan_pwr_format); in ath10k_wmi_op_gen_vdev_spectral_conf()
4514 cmd->scan_rpt_mode = __cpu_to_le32(arg->scan_rpt_mode); in ath10k_wmi_op_gen_vdev_spectral_conf()
4515 cmd->scan_bin_scale = __cpu_to_le32(arg->scan_bin_scale); in ath10k_wmi_op_gen_vdev_spectral_conf()
4516 cmd->scan_dbm_adj = __cpu_to_le32(arg->scan_dbm_adj); in ath10k_wmi_op_gen_vdev_spectral_conf()
4517 cmd->scan_chn_mask = __cpu_to_le32(arg->scan_chn_mask); in ath10k_wmi_op_gen_vdev_spectral_conf()
4702 const struct wmi_scan_chan_list_arg *arg) in ath10k_wmi_op_gen_scan_chan_list() argument
4711 len = sizeof(*cmd) + arg->n_channels * sizeof(struct wmi_channel); in ath10k_wmi_op_gen_scan_chan_list()
4718 cmd->num_scan_chans = __cpu_to_le32(arg->n_channels); in ath10k_wmi_op_gen_scan_chan_list()
4720 for (i = 0; i < arg->n_channels; i++) { in ath10k_wmi_op_gen_scan_chan_list()
4721 ch = &arg->channels[i]; in ath10k_wmi_op_gen_scan_chan_list()
4732 const struct wmi_peer_assoc_complete_arg *arg) in ath10k_wmi_peer_assoc_fill() argument
4736 cmd->vdev_id = __cpu_to_le32(arg->vdev_id); in ath10k_wmi_peer_assoc_fill()
4737 cmd->peer_new_assoc = __cpu_to_le32(arg->peer_reassoc ? 0 : 1); in ath10k_wmi_peer_assoc_fill()
4738 cmd->peer_associd = __cpu_to_le32(arg->peer_aid); in ath10k_wmi_peer_assoc_fill()
4739 cmd->peer_flags = __cpu_to_le32(arg->peer_flags); in ath10k_wmi_peer_assoc_fill()
4740 cmd->peer_caps = __cpu_to_le32(arg->peer_caps); in ath10k_wmi_peer_assoc_fill()
4741 cmd->peer_listen_intval = __cpu_to_le32(arg->peer_listen_intval); in ath10k_wmi_peer_assoc_fill()
4742 cmd->peer_ht_caps = __cpu_to_le32(arg->peer_ht_caps); in ath10k_wmi_peer_assoc_fill()
4743 cmd->peer_max_mpdu = __cpu_to_le32(arg->peer_max_mpdu); in ath10k_wmi_peer_assoc_fill()
4744 cmd->peer_mpdu_density = __cpu_to_le32(arg->peer_mpdu_density); in ath10k_wmi_peer_assoc_fill()
4745 cmd->peer_rate_caps = __cpu_to_le32(arg->peer_rate_caps); in ath10k_wmi_peer_assoc_fill()
4746 cmd->peer_nss = __cpu_to_le32(arg->peer_num_spatial_streams); in ath10k_wmi_peer_assoc_fill()
4747 cmd->peer_vht_caps = __cpu_to_le32(arg->peer_vht_caps); in ath10k_wmi_peer_assoc_fill()
4748 cmd->peer_phymode = __cpu_to_le32(arg->peer_phymode); in ath10k_wmi_peer_assoc_fill()
4750 ether_addr_copy(cmd->peer_macaddr.addr, arg->addr); in ath10k_wmi_peer_assoc_fill()
4753 __cpu_to_le32(arg->peer_legacy_rates.num_rates); in ath10k_wmi_peer_assoc_fill()
4754 memcpy(cmd->peer_legacy_rates.rates, arg->peer_legacy_rates.rates, in ath10k_wmi_peer_assoc_fill()
4755 arg->peer_legacy_rates.num_rates); in ath10k_wmi_peer_assoc_fill()
4758 __cpu_to_le32(arg->peer_ht_rates.num_rates); in ath10k_wmi_peer_assoc_fill()
4759 memcpy(cmd->peer_ht_rates.rates, arg->peer_ht_rates.rates, in ath10k_wmi_peer_assoc_fill()
4760 arg->peer_ht_rates.num_rates); in ath10k_wmi_peer_assoc_fill()
4763 __cpu_to_le32(arg->peer_vht_rates.rx_max_rate); in ath10k_wmi_peer_assoc_fill()
4765 __cpu_to_le32(arg->peer_vht_rates.rx_mcs_set); in ath10k_wmi_peer_assoc_fill()
4767 __cpu_to_le32(arg->peer_vht_rates.tx_max_rate); in ath10k_wmi_peer_assoc_fill()
4769 __cpu_to_le32(arg->peer_vht_rates.tx_mcs_set); in ath10k_wmi_peer_assoc_fill()
4774 const struct wmi_peer_assoc_complete_arg *arg) in ath10k_wmi_peer_assoc_fill_main() argument
4778 ath10k_wmi_peer_assoc_fill(ar, buf, arg); in ath10k_wmi_peer_assoc_fill_main()
4784 const struct wmi_peer_assoc_complete_arg *arg) in ath10k_wmi_peer_assoc_fill_10_1() argument
4786 ath10k_wmi_peer_assoc_fill(ar, buf, arg); in ath10k_wmi_peer_assoc_fill_10_1()
4791 const struct wmi_peer_assoc_complete_arg *arg) in ath10k_wmi_peer_assoc_fill_10_2() argument
4804 ath10k_wmi_peer_assoc_fill(ar, buf, arg); in ath10k_wmi_peer_assoc_fill_10_2()
4809 ath10k_wmi_peer_assoc_check_arg(const struct wmi_peer_assoc_complete_arg *arg) in ath10k_wmi_peer_assoc_check_arg() argument
4811 if (arg->peer_mpdu_density > 16) in ath10k_wmi_peer_assoc_check_arg()
4813 if (arg->peer_legacy_rates.num_rates > MAX_SUPPORTED_RATES) in ath10k_wmi_peer_assoc_check_arg()
4815 if (arg->peer_ht_rates.num_rates > MAX_SUPPORTED_RATES) in ath10k_wmi_peer_assoc_check_arg()
4823 const struct wmi_peer_assoc_complete_arg *arg) in ath10k_wmi_op_gen_peer_assoc() argument
4829 ret = ath10k_wmi_peer_assoc_check_arg(arg); in ath10k_wmi_op_gen_peer_assoc()
4837 ath10k_wmi_peer_assoc_fill_main(ar, skb->data, arg); in ath10k_wmi_op_gen_peer_assoc()
4841 arg->vdev_id, arg->addr, in ath10k_wmi_op_gen_peer_assoc()
4842 arg->peer_reassoc ? "reassociate" : "new"); in ath10k_wmi_op_gen_peer_assoc()
4848 const struct wmi_peer_assoc_complete_arg *arg) in ath10k_wmi_10_1_op_gen_peer_assoc() argument
4854 ret = ath10k_wmi_peer_assoc_check_arg(arg); in ath10k_wmi_10_1_op_gen_peer_assoc()
4862 ath10k_wmi_peer_assoc_fill_10_1(ar, skb->data, arg); in ath10k_wmi_10_1_op_gen_peer_assoc()
4866 arg->vdev_id, arg->addr, in ath10k_wmi_10_1_op_gen_peer_assoc()
4867 arg->peer_reassoc ? "reassociate" : "new"); in ath10k_wmi_10_1_op_gen_peer_assoc()
4873 const struct wmi_peer_assoc_complete_arg *arg) in ath10k_wmi_10_2_op_gen_peer_assoc() argument
4879 ret = ath10k_wmi_peer_assoc_check_arg(arg); in ath10k_wmi_10_2_op_gen_peer_assoc()
4887 ath10k_wmi_peer_assoc_fill_10_2(ar, skb->data, arg); in ath10k_wmi_10_2_op_gen_peer_assoc()
4891 arg->vdev_id, arg->addr, in ath10k_wmi_10_2_op_gen_peer_assoc()
4892 arg->peer_reassoc ? "reassociate" : "new"); in ath10k_wmi_10_2_op_gen_peer_assoc()
4946 const struct wmi_wmm_params_arg *arg) in ath10k_wmi_set_wmm_param() argument
4948 params->cwmin = __cpu_to_le32(arg->cwmin); in ath10k_wmi_set_wmm_param()
4949 params->cwmax = __cpu_to_le32(arg->cwmax); in ath10k_wmi_set_wmm_param()
4950 params->aifs = __cpu_to_le32(arg->aifs); in ath10k_wmi_set_wmm_param()
4951 params->txop = __cpu_to_le32(arg->txop); in ath10k_wmi_set_wmm_param()
4952 params->acm = __cpu_to_le32(arg->acm); in ath10k_wmi_set_wmm_param()
4953 params->no_ack = __cpu_to_le32(arg->no_ack); in ath10k_wmi_set_wmm_param()
4958 const struct wmi_wmm_params_all_arg *arg) in ath10k_wmi_op_gen_pdev_set_wmm() argument
4968 ath10k_wmi_set_wmm_param(&cmd->ac_be, &arg->ac_be); in ath10k_wmi_op_gen_pdev_set_wmm()
4969 ath10k_wmi_set_wmm_param(&cmd->ac_bk, &arg->ac_bk); in ath10k_wmi_op_gen_pdev_set_wmm()
4970 ath10k_wmi_set_wmm_param(&cmd->ac_vi, &arg->ac_vi); in ath10k_wmi_op_gen_pdev_set_wmm()
4971 ath10k_wmi_set_wmm_param(&cmd->ac_vo, &arg->ac_vo); in ath10k_wmi_op_gen_pdev_set_wmm()