Lines Matching defs:arg

926 	struct wmi_vdev_start_req_arg arg = {};
933 arg.vdev_id = vdev_id;
934 arg.channel.freq = channel->center_freq;
935 arg.channel.band_center_freq1 = chandef->center_freq1;
936 arg.channel.band_center_freq2 = chandef->center_freq2;
938 arg.channel.mode = ath11k_phymodes[chandef->chan->band][chandef->width];
939 arg.channel.chan_radar = !!(channel->flags & IEEE80211_CHAN_RADAR);
941 arg.channel.min_power = 0;
942 arg.channel.max_power = channel->max_power;
943 arg.channel.max_reg_power = channel->max_reg_power;
944 arg.channel.max_antenna_gain = channel->max_antenna_gain;
946 arg.pref_tx_streams = ar->num_tx_chains;
947 arg.pref_rx_streams = ar->num_rx_chains;
949 arg.channel.passive = !!(chandef->chan->flags & IEEE80211_CHAN_NO_IR);
954 ret = ath11k_wmi_vdev_start(ar, &arg, false);
1797 struct peer_assoc_params *arg)
1809 ether_addr_copy(arg->peer_mac, sta->addr);
1810 arg->vdev_id = arvif->vdev_id;
1811 arg->peer_associd = aid;
1812 arg->auth_flag = true;
1814 arg->peer_listen_intval = ar->hw->conf.listen_interval;
1815 arg->peer_nss = 1;
1816 arg->peer_caps = vif->bss_conf.assoc_capability;
1822 struct peer_assoc_params *arg)
1840 arg->need_ptk_4_way = true;
1842 arg->need_gtk_2_way = true;
1863 arg->need_ptk_4_way = true;
1869 arg->need_gtk_2_way = true;
1874 arg->is_pmf_enabled = true;
1883 struct peer_assoc_params *arg)
1886 struct wmi_rate_set_arg *rateset = &arg->peer_legacy_rates;
1945 struct peer_assoc_params *arg)
1970 arg->ht_flag = true;
1972 arg->peer_max_mpdu = (1 << (IEEE80211_HT_MAX_AMPDU_FACTOR +
1975 arg->peer_mpdu_density =
1978 arg->peer_ht_caps = ht_cap->cap;
1979 arg->peer_rate_caps |= WMI_HOST_RC_HT_FLAG;
1982 arg->ldpc_flag = true;
1985 arg->bw_40 = true;
1986 arg->peer_rate_caps |= WMI_HOST_RC_CW40_FLAG;
1994 arg->peer_ht_caps &= ~(IEEE80211_HT_CAP_SGI_20 |
2000 arg->peer_rate_caps |= WMI_HOST_RC_SGI_FLAG;
2004 arg->peer_rate_caps |= WMI_HOST_RC_TX_STBC_FLAG;
2005 arg->stbc_flag = true;
2012 arg->peer_rate_caps |= stbc;
2013 arg->stbc_flag = true;
2017 arg->peer_rate_caps |= WMI_HOST_RC_TS_FLAG;
2019 arg->peer_rate_caps |= WMI_HOST_RC_DS_FLAG;
2025 arg->peer_ht_rates.rates[n++] = i;
2037 arg->peer_ht_rates.num_rates = 8;
2038 for (i = 0; i < arg->peer_ht_rates.num_rates; i++)
2039 arg->peer_ht_rates.rates[i] = i;
2041 arg->peer_ht_rates.num_rates = n;
2042 arg->peer_nss = min(sta->deflink.rx_nss, max_nss);
2046 arg->peer_mac,
2047 arg->peer_ht_rates.num_rates,
2048 arg->peer_nss);
2142 struct peer_assoc_params *arg)
2167 arg->vht_flag = true;
2170 arg->vht_capable = true;
2173 arg->vht_ng_flag = true;
2175 arg->peer_vht_caps = vht_cap->cap;
2183 * arg->peer_max_mpdu at this point contains HT max_mpdu so keep
2186 arg->peer_max_mpdu = max(arg->peer_max_mpdu,
2191 arg->bw_80 = true;
2194 arg->bw_160 = true;
2225 arg->peer_nss = min(sta->deflink.rx_nss, max_nss);
2226 arg->rx_max_rate = __le16_to_cpu(vht_cap->vht_mcs.rx_highest);
2227 arg->rx_mcs_set = __le16_to_cpu(vht_cap->vht_mcs.rx_mcs_map);
2228 arg->tx_max_rate = __le16_to_cpu(vht_cap->vht_mcs.tx_highest);
2229 arg->tx_mcs_set = ath11k_peer_assoc_h_vht_limit(
2236 arg->tx_mcs_set &= ~IEEE80211_VHT_MCS_SUPPORT_0_11_MASK;
2237 arg->tx_mcs_set |= IEEE80211_DISABLE_VHT_MCS_SUPPORT_0_11;
2239 if ((arg->tx_mcs_set & IEEE80211_VHT_MCS_NOT_SUPPORTED) ==
2241 arg->peer_vht_caps &= ~IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE;
2244 arg->tx_max_mcs_nss = 0xFF;
2246 if (arg->peer_phymode == MODE_11AC_VHT160 ||
2247 arg->peer_phymode == MODE_11AC_VHT80_80) {
2249 rx_nss = min(arg->peer_nss, tx_nss);
2250 arg->peer_bw_rxnss_override = ATH11K_BW_NSS_MAP_ENABLE;
2257 if (arg->peer_phymode == MODE_11AC_VHT160)
2262 arg->peer_bw_rxnss_override |= nss_160;
2267 sta->addr, arg->peer_max_mpdu, arg->peer_flags,
2268 arg->peer_bw_rxnss_override);
2340 struct peer_assoc_params *arg)
2369 arg->he_flag = true;
2406 arg->peer_nss = min(sta->deflink.rx_nss, max_nss);
2408 memcpy_and_pad(&arg->peer_he_cap_macinfo,
2409 sizeof(arg->peer_he_cap_macinfo),
2413 memcpy_and_pad(&arg->peer_he_cap_phyinfo,
2414 sizeof(arg->peer_he_cap_phyinfo),
2418 arg->peer_he_ops = vif->bss_conf.he_oper.params;
2421 arg->peer_he_ops &= 0xffffff;
2424 * in HE cap is zero, use the arg->peer_max_mpdu as calculated while parsing
2439 arg->peer_max_mpdu = (1 << (IEEE80211_HE_VHT_MAX_AMPDU_FACTOR +
2442 arg->peer_max_mpdu = (1 << (IEEE80211_HE_HT_MAX_AMPDU_FACTOR +
2451 arg->peer_ppet.numss_m1 = he_cap->ppe_thres[0] &
2453 arg->peer_ppet.ru_bit_mask =
2458 for (nss = 0; nss <= arg->peer_ppet.numss_m1; nss++) {
2463 if ((arg->peer_ppet.ru_bit_mask & BIT(ru)) == 0)
2471 arg->peer_ppet.ppet16_ppet8_ru3_ru0[nss] |=
2478 arg->twt_responder = true;
2480 arg->twt_requester = true;
2506 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
2509 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
2511 arg->peer_he_mcs_count++;
2515 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
2519 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
2521 arg->peer_he_mcs_count++;
2528 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
2532 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
2534 arg->peer_he_mcs_count++;
2554 arg->peer_nss = min(sta->deflink.rx_nss, max_nss);
2556 if (arg->peer_phymode == MODE_11AX_HE160 ||
2557 arg->peer_phymode == MODE_11AX_HE80_80) {
2559 rx_nss = min(arg->peer_nss, tx_nss);
2560 arg->peer_bw_rxnss_override = ATH11K_BW_NSS_MAP_ENABLE;
2567 if (arg->peer_phymode == MODE_11AX_HE160)
2572 arg->peer_bw_rxnss_override |= nss_160;
2577 sta->addr, arg->peer_nss,
2578 arg->peer_he_mcs_count,
2579 arg->peer_bw_rxnss_override);
2585 struct peer_assoc_params *arg)
2597 if (!arg->he_flag || band != NL80211_BAND_6GHZ || !sta->deflink.he_6ghz_capa.capa)
2601 arg->bw_40 = true;
2604 arg->bw_80 = true;
2607 arg->bw_160 = true;
2609 arg->peer_he_caps_6ghz = le16_to_cpu(sta->deflink.he_6ghz_capa.capa);
2610 arg->peer_mpdu_density =
2612 arg->peer_he_caps_6ghz));
2626 arg->peer_he_caps_6ghz);
2628 arg->peer_max_mpdu = (1u << (IEEE80211_HE_6GHZ_MAX_AMPDU_FACTOR +
2633 struct peer_assoc_params *arg)
2651 arg->static_mimops_flag = true;
2654 arg->dynamic_mimops_flag = true;
2657 arg->spatial_mux_flag = true;
2667 struct peer_assoc_params *arg)
2675 arg->is_wme_set = true;
2676 arg->qos_flag = true;
2681 arg->is_wme_set = true;
2682 arg->apsd_flag = true;
2683 arg->peer_rate_caps |= WMI_HOST_RC_UAPSD_FLAG;
2688 arg->is_wme_set = true;
2689 arg->qos_flag = true;
2697 sta->addr, arg->qos_flag);
2830 struct peer_assoc_params *arg)
2902 arg->peer_phymode = phymode;
2909 struct peer_assoc_params *arg,
2918 memset(arg, 0, sizeof(*arg));
2922 arg->peer_new_assoc = !reassoc;
2923 ath11k_peer_assoc_h_basic(ar, vif, sta, arg);
2924 ath11k_peer_assoc_h_crypto(ar, vif, sta, arg);
2925 ath11k_peer_assoc_h_rates(ar, vif, sta, arg);
2926 ath11k_peer_assoc_h_phymode(ar, vif, sta, arg);
2927 ath11k_peer_assoc_h_ht(ar, vif, sta, arg);
2928 ath11k_peer_assoc_h_vht(ar, vif, sta, arg);
2929 ath11k_peer_assoc_h_he(ar, vif, sta, arg);
2930 ath11k_peer_assoc_h_he_6ghz(ar, vif, sta, arg);
2931 ath11k_peer_assoc_h_qos(ar, vif, sta, arg);
2932 ath11k_peer_assoc_h_smps(sta, arg);
2934 arsta->peer_nss = arg->peer_nss;
3890 struct scan_cancel_param arg = {
3899 arg.pdev_id = ar->pdev->pdev_id;
3901 ret = ath11k_wmi_send_scan_stop_cmd(ar, &arg);
3977 struct scan_req_params *arg)
3987 ret = ath11k_wmi_send_scan_start_cmd(ar, arg);
4028 struct scan_req_params *arg = NULL;
4068 arg = kzalloc(sizeof(*arg), GFP_KERNEL);
4070 if (!arg) {
4075 ath11k_wmi_start_scan_init(ar, arg);
4076 arg->vdev_id = arvif->vdev_id;
4077 arg->scan_id = ATH11K_SCAN_ID;
4080 arg->scan_f_filter_prb_req = 1;
4083 arg->extraie.ptr = kmemdup(req->ie, req->ie_len, GFP_KERNEL);
4084 if (!arg->extraie.ptr) {
4088 arg->extraie.len = req->ie_len;
4092 arg->num_ssids = req->n_ssids;
4093 for (i = 0; i < arg->num_ssids; i++) {
4094 arg->ssid[i].length = req->ssids[i].ssid_len;
4095 memcpy(&arg->ssid[i].ssid, req->ssids[i].ssid,
4099 arg->scan_f_passive = 1;
4103 arg->num_chan = req->n_channels;
4104 arg->chan_list = kcalloc(arg->num_chan, sizeof(*arg->chan_list),
4107 if (!arg->chan_list) {
4112 for (i = 0; i < arg->num_chan; i++) {
4115 arg->chan_list[i] =
4129 arg->chan_list[i] |=
4132 arg->chan_list[i] = req->channels[i]->center_freq;
4138 arg->scan_f_add_spoofed_mac_in_probe = 1;
4139 ether_addr_copy(arg->mac_addr.addr, req->mac_addr);
4140 ether_addr_copy(arg->mac_mask.addr, req->mac_addr_mask);
4145 arg->dwell_time_active = req->duration;
4146 arg->dwell_time_active_2g = req->duration;
4147 arg->dwell_time_active_6g = req->duration;
4148 arg->dwell_time_passive = req->duration;
4149 arg->dwell_time_passive_6g = req->duration;
4150 arg->burst_duration = req->duration;
4152 scan_timeout = min_t(u32, arg->max_rest_time *
4153 (arg->num_chan - 1) + (req->duration +
4155 arg->num_chan, arg->max_scan_time);
4157 scan_timeout = arg->max_scan_time;
4163 ret = ath11k_start_scan(ar, arg);
4175 if (arg) {
4176 kfree(arg->chan_list);
4177 kfree(arg->extraie.ptr);
4178 kfree(arg);
4208 struct wmi_vdev_install_key_arg arg = {
4225 arg.key_cipher = WMI_CIPHER_NONE;
4226 arg.key_data = NULL;
4232 arg.key_cipher = WMI_CIPHER_AES_CCM;
4237 arg.key_cipher = WMI_CIPHER_TKIP;
4238 arg.key_txmic_len = 8;
4239 arg.key_rxmic_len = 8;
4242 arg.key_cipher = WMI_CIPHER_AES_CCM;
4246 arg.key_cipher = WMI_CIPHER_AES_GCM;
4258 ret = ath11k_wmi_vdev_install_key(arvif->ar, &arg);
7077 struct wmi_vdev_start_req_arg arg = {};
7086 arg.vdev_id = arvif->vdev_id;
7087 arg.dtim_period = arvif->dtim_period;
7088 arg.bcn_intval = arvif->beacon_interval;
7090 arg.channel.freq = chandef->chan->center_freq;
7091 arg.channel.band_center_freq1 = chandef->center_freq1;
7092 arg.channel.band_center_freq2 = chandef->center_freq2;
7093 arg.channel.mode =
7096 arg.channel.min_power = 0;
7097 arg.channel.max_power = chandef->chan->max_power;
7098 arg.channel.max_reg_power = chandef->chan->max_reg_power;
7099 arg.channel.max_antenna_gain = chandef->chan->max_antenna_gain;
7101 arg.pref_tx_streams = ar->num_tx_chains;
7102 arg.pref_rx_streams = ar->num_rx_chains;
7104 arg.mbssid_flags = 0;
7105 arg.mbssid_tx_vdev_id = 0;
7109 &arg.mbssid_flags,
7110 &arg.mbssid_tx_vdev_id);
7116 arg.ssid = arvif->u.ap.ssid;
7117 arg.ssid_len = arvif->u.ap.ssid_len;
7118 arg.hidden_ssid = arvif->u.ap.hidden_ssid;
7121 arg.channel.chan_radar =
7124 arg.channel.freq2_radar = ctx->radar_enabled;
7126 arg.channel.passive = arg.channel.chan_radar;
7129 arg.regdomain = ar->ab->dfs_region;
7133 arg.channel.passive |= !!(chandef->chan->flags & IEEE80211_CHAN_NO_IR);
7137 arg.vdev_id, arg.channel.freq,
7138 ath11k_wmi_phymode_str(arg.channel.mode));
7140 ret = ath11k_wmi_vdev_start(ar, &arg, restart);
7143 restart ? "restart" : "start", arg.vdev_id);
7150 arg.vdev_id, restart ? "restart" : "start", ret);
7182 dfs_cac_time, arg.channel.freq, chandef->center_freq1,
7183 arg.vdev_id);
7257 struct ath11k_mac_change_chanctx_arg *arg = data;
7259 if (rcu_access_pointer(vif->bss_conf.chanctx_conf) != arg->ctx)
7262 arg->n_vifs++;
7269 struct ath11k_mac_change_chanctx_arg *arg = data;
7273 if (ctx != arg->ctx)
7276 if (WARN_ON(arg->next_vif == arg->n_vifs))
7279 arg->vifs[arg->next_vif].vif = vif;
7280 arg->vifs[arg->next_vif].old_ctx = ctx;
7281 arg->vifs[arg->next_vif].new_ctx = ctx;
7282 arg->next_vif++;
7385 struct ath11k_mac_change_chanctx_arg arg = { .ctx = ctx };
7392 &arg);
7393 if (arg.n_vifs == 0)
7396 arg.vifs = kcalloc(arg.n_vifs, sizeof(arg.vifs[0]), GFP_KERNEL);
7397 if (!arg.vifs)
7403 &arg);
7405 ath11k_mac_update_vif_chan(ar, arg.vifs, arg.n_vifs);
7407 kfree(arg.vifs);
9297 struct scan_req_params *arg;
9329 arg = kzalloc(sizeof(*arg), GFP_KERNEL);
9330 if (!arg) {
9334 ath11k_wmi_start_scan_init(ar, arg);
9335 arg->num_chan = 1;
9336 arg->chan_list = kcalloc(arg->num_chan, sizeof(*arg->chan_list),
9338 if (!arg->chan_list) {
9343 arg->vdev_id = arvif->vdev_id;
9344 arg->scan_id = ATH11K_SCAN_ID;
9345 arg->chan_list[0] = chan->center_freq;
9346 arg->dwell_time_active = scan_time_msec;
9347 arg->dwell_time_passive = scan_time_msec;
9348 arg->max_scan_time = scan_time_msec;
9349 arg->scan_f_passive = 1;
9350 arg->burst_duration = duration;
9353 arg->scan_f_filter_prb_req = 1;
9355 ret = ath11k_start_scan(ar, arg);
9381 kfree(arg->chan_list);
9383 kfree(arg);
10510 struct wmi_sta_keepalive_arg arg = {};
10521 arg.vdev_id = arvif->vdev_id;
10522 arg.enabled = 1;
10523 arg.method = method;
10524 arg.interval = interval;
10526 ret = ath11k_wmi_sta_keepalive(ar, &arg);