Lines Matching defs:arg
928 struct wmi_vdev_start_req_arg arg = {};
935 arg.vdev_id = vdev_id;
936 arg.channel.freq = channel->center_freq;
937 arg.channel.band_center_freq1 = chandef->center_freq1;
938 arg.channel.band_center_freq2 = chandef->center_freq2;
940 arg.channel.mode = ath11k_phymodes[chandef->chan->band][chandef->width];
941 arg.channel.chan_radar = !!(channel->flags & IEEE80211_CHAN_RADAR);
943 arg.channel.min_power = 0;
944 arg.channel.max_power = channel->max_power;
945 arg.channel.max_reg_power = channel->max_reg_power;
946 arg.channel.max_antenna_gain = channel->max_antenna_gain;
948 arg.pref_tx_streams = ar->num_tx_chains;
949 arg.pref_rx_streams = ar->num_rx_chains;
951 arg.channel.passive = !!(chandef->chan->flags & IEEE80211_CHAN_NO_IR);
956 ret = ath11k_wmi_vdev_start(ar, &arg, false);
1719 struct peer_assoc_params *arg)
1731 ether_addr_copy(arg->peer_mac, sta->addr);
1732 arg->vdev_id = arvif->vdev_id;
1733 arg->peer_associd = aid;
1734 arg->auth_flag = true;
1736 arg->peer_listen_intval = ar->hw->conf.listen_interval;
1737 arg->peer_nss = 1;
1738 arg->peer_caps = vif->bss_conf.assoc_capability;
1744 struct peer_assoc_params *arg)
1762 arg->need_ptk_4_way = true;
1764 arg->need_gtk_2_way = true;
1785 arg->need_ptk_4_way = true;
1791 arg->need_gtk_2_way = true;
1796 arg->is_pmf_enabled = true;
1805 struct peer_assoc_params *arg)
1808 struct wmi_rate_set_arg *rateset = &arg->peer_legacy_rates;
1867 struct peer_assoc_params *arg)
1892 arg->ht_flag = true;
1894 arg->peer_max_mpdu = (1 << (IEEE80211_HT_MAX_AMPDU_FACTOR +
1897 arg->peer_mpdu_density =
1900 arg->peer_ht_caps = ht_cap->cap;
1901 arg->peer_rate_caps |= WMI_HOST_RC_HT_FLAG;
1904 arg->ldpc_flag = true;
1907 arg->bw_40 = true;
1908 arg->peer_rate_caps |= WMI_HOST_RC_CW40_FLAG;
1916 arg->peer_ht_caps &= ~(IEEE80211_HT_CAP_SGI_20 |
1922 arg->peer_rate_caps |= WMI_HOST_RC_SGI_FLAG;
1926 arg->peer_rate_caps |= WMI_HOST_RC_TX_STBC_FLAG;
1927 arg->stbc_flag = true;
1934 arg->peer_rate_caps |= stbc;
1935 arg->stbc_flag = true;
1939 arg->peer_rate_caps |= WMI_HOST_RC_TS_FLAG;
1941 arg->peer_rate_caps |= WMI_HOST_RC_DS_FLAG;
1947 arg->peer_ht_rates.rates[n++] = i;
1959 arg->peer_ht_rates.num_rates = 8;
1960 for (i = 0; i < arg->peer_ht_rates.num_rates; i++)
1961 arg->peer_ht_rates.rates[i] = i;
1963 arg->peer_ht_rates.num_rates = n;
1964 arg->peer_nss = min(sta->deflink.rx_nss, max_nss);
1968 arg->peer_mac,
1969 arg->peer_ht_rates.num_rates,
1970 arg->peer_nss);
2064 struct peer_assoc_params *arg)
2089 arg->vht_flag = true;
2092 arg->vht_capable = true;
2095 arg->vht_ng_flag = true;
2097 arg->peer_vht_caps = vht_cap->cap;
2105 * arg->peer_max_mpdu at this point contains HT max_mpdu so keep
2108 arg->peer_max_mpdu = max(arg->peer_max_mpdu,
2113 arg->bw_80 = true;
2116 arg->bw_160 = true;
2147 arg->peer_nss = min(sta->deflink.rx_nss, max_nss);
2148 arg->rx_max_rate = __le16_to_cpu(vht_cap->vht_mcs.rx_highest);
2149 arg->rx_mcs_set = __le16_to_cpu(vht_cap->vht_mcs.rx_mcs_map);
2150 arg->tx_max_rate = __le16_to_cpu(vht_cap->vht_mcs.tx_highest);
2151 arg->tx_mcs_set = ath11k_peer_assoc_h_vht_limit(
2158 arg->tx_mcs_set &= ~IEEE80211_VHT_MCS_SUPPORT_0_11_MASK;
2159 arg->tx_mcs_set |= IEEE80211_DISABLE_VHT_MCS_SUPPORT_0_11;
2161 if ((arg->tx_mcs_set & IEEE80211_VHT_MCS_NOT_SUPPORTED) ==
2163 arg->peer_vht_caps &= ~IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE;
2166 arg->tx_max_mcs_nss = 0xFF;
2168 if (arg->peer_phymode == MODE_11AC_VHT160 ||
2169 arg->peer_phymode == MODE_11AC_VHT80_80) {
2171 rx_nss = min(arg->peer_nss, tx_nss);
2172 arg->peer_bw_rxnss_override = ATH11K_BW_NSS_MAP_ENABLE;
2179 if (arg->peer_phymode == MODE_11AC_VHT160)
2184 arg->peer_bw_rxnss_override |= nss_160;
2189 sta->addr, arg->peer_max_mpdu, arg->peer_flags,
2190 arg->peer_bw_rxnss_override);
2262 struct peer_assoc_params *arg)
2291 arg->he_flag = true;
2328 arg->peer_nss = min(sta->deflink.rx_nss, max_nss);
2330 memcpy_and_pad(&arg->peer_he_cap_macinfo,
2331 sizeof(arg->peer_he_cap_macinfo),
2335 memcpy_and_pad(&arg->peer_he_cap_phyinfo,
2336 sizeof(arg->peer_he_cap_phyinfo),
2340 arg->peer_he_ops = vif->bss_conf.he_oper.params;
2343 arg->peer_he_ops &= 0xffffff;
2346 * in HE cap is zero, use the arg->peer_max_mpdu as calculated while parsing
2361 arg->peer_max_mpdu = (1 << (IEEE80211_HE_VHT_MAX_AMPDU_FACTOR +
2364 arg->peer_max_mpdu = (1 << (IEEE80211_HE_HT_MAX_AMPDU_FACTOR +
2373 arg->peer_ppet.numss_m1 = he_cap->ppe_thres[0] &
2375 arg->peer_ppet.ru_bit_mask =
2380 for (nss = 0; nss <= arg->peer_ppet.numss_m1; nss++) {
2385 if ((arg->peer_ppet.ru_bit_mask & BIT(ru)) == 0)
2393 arg->peer_ppet.ppet16_ppet8_ru3_ru0[nss] |=
2400 arg->twt_responder = true;
2402 arg->twt_requester = true;
2428 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
2431 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80_80] = v;
2433 arg->peer_he_mcs_count++;
2437 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
2441 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_160] = v;
2443 arg->peer_he_mcs_count++;
2450 arg->peer_he_rx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
2454 arg->peer_he_tx_mcs_set[WMI_HECAP_TXRX_MCS_NSS_IDX_80] = v;
2456 arg->peer_he_mcs_count++;
2476 arg->peer_nss = min(sta->deflink.rx_nss, max_nss);
2478 if (arg->peer_phymode == MODE_11AX_HE160 ||
2479 arg->peer_phymode == MODE_11AX_HE80_80) {
2481 rx_nss = min(arg->peer_nss, tx_nss);
2482 arg->peer_bw_rxnss_override = ATH11K_BW_NSS_MAP_ENABLE;
2489 if (arg->peer_phymode == MODE_11AX_HE160)
2494 arg->peer_bw_rxnss_override |= nss_160;
2499 sta->addr, arg->peer_nss,
2500 arg->peer_he_mcs_count,
2501 arg->peer_bw_rxnss_override);
2507 struct peer_assoc_params *arg)
2519 if (!arg->he_flag || band != NL80211_BAND_6GHZ || !sta->deflink.he_6ghz_capa.capa)
2523 arg->bw_40 = true;
2526 arg->bw_80 = true;
2529 arg->bw_160 = true;
2531 arg->peer_he_caps_6ghz = le16_to_cpu(sta->deflink.he_6ghz_capa.capa);
2532 arg->peer_mpdu_density =
2534 arg->peer_he_caps_6ghz));
2548 arg->peer_he_caps_6ghz);
2550 arg->peer_max_mpdu = (1u << (IEEE80211_HE_6GHZ_MAX_AMPDU_FACTOR +
2555 struct peer_assoc_params *arg)
2573 arg->static_mimops_flag = true;
2576 arg->dynamic_mimops_flag = true;
2579 arg->spatial_mux_flag = true;
2589 struct peer_assoc_params *arg)
2597 arg->is_wme_set = true;
2598 arg->qos_flag = true;
2603 arg->is_wme_set = true;
2604 arg->apsd_flag = true;
2605 arg->peer_rate_caps |= WMI_HOST_RC_UAPSD_FLAG;
2610 arg->is_wme_set = true;
2611 arg->qos_flag = true;
2619 sta->addr, arg->qos_flag);
2752 struct peer_assoc_params *arg)
2824 arg->peer_phymode = phymode;
2831 struct peer_assoc_params *arg,
2840 memset(arg, 0, sizeof(*arg));
2844 arg->peer_new_assoc = !reassoc;
2845 ath11k_peer_assoc_h_basic(ar, vif, sta, arg);
2846 ath11k_peer_assoc_h_crypto(ar, vif, sta, arg);
2847 ath11k_peer_assoc_h_rates(ar, vif, sta, arg);
2848 ath11k_peer_assoc_h_phymode(ar, vif, sta, arg);
2849 ath11k_peer_assoc_h_ht(ar, vif, sta, arg);
2850 ath11k_peer_assoc_h_vht(ar, vif, sta, arg);
2851 ath11k_peer_assoc_h_he(ar, vif, sta, arg);
2852 ath11k_peer_assoc_h_he_6ghz(ar, vif, sta, arg);
2853 ath11k_peer_assoc_h_qos(ar, vif, sta, arg);
2854 ath11k_peer_assoc_h_smps(sta, arg);
2856 arsta->peer_nss = arg->peer_nss;
3801 struct scan_cancel_param arg = {
3810 arg.pdev_id = ar->pdev->pdev_id;
3812 ret = ath11k_wmi_send_scan_stop_cmd(ar, &arg);
3888 struct scan_req_params *arg)
3898 ret = ath11k_wmi_send_scan_start_cmd(ar, arg);
3939 struct scan_req_params *arg = NULL;
3979 arg = kzalloc(sizeof(*arg), GFP_KERNEL);
3981 if (!arg) {
3986 ath11k_wmi_start_scan_init(ar, arg);
3987 arg->vdev_id = arvif->vdev_id;
3988 arg->scan_id = ATH11K_SCAN_ID;
3991 arg->extraie.ptr = kmemdup(req->ie, req->ie_len, GFP_KERNEL);
3992 if (!arg->extraie.ptr) {
3996 arg->extraie.len = req->ie_len;
4000 arg->num_ssids = req->n_ssids;
4001 for (i = 0; i < arg->num_ssids; i++) {
4002 arg->ssid[i].length = req->ssids[i].ssid_len;
4003 memcpy(&arg->ssid[i].ssid, req->ssids[i].ssid,
4007 arg->scan_flags |= WMI_SCAN_FLAG_PASSIVE;
4011 arg->num_chan = req->n_channels;
4012 arg->chan_list = kcalloc(arg->num_chan, sizeof(*arg->chan_list),
4015 if (!arg->chan_list) {
4020 for (i = 0; i < arg->num_chan; i++) {
4023 arg->chan_list[i] =
4037 arg->chan_list[i] |=
4040 arg->chan_list[i] = req->channels[i]->center_freq;
4046 arg->scan_f_add_spoofed_mac_in_probe = 1;
4047 ether_addr_copy(arg->mac_addr.addr, req->mac_addr);
4048 ether_addr_copy(arg->mac_mask.addr, req->mac_addr_mask);
4053 arg->dwell_time_active = req->duration;
4054 arg->dwell_time_active_2g = req->duration;
4055 arg->dwell_time_active_6g = req->duration;
4056 arg->dwell_time_passive = req->duration;
4057 arg->dwell_time_passive_6g = req->duration;
4058 arg->burst_duration = req->duration;
4060 scan_timeout = min_t(u32, arg->max_rest_time *
4061 (arg->num_chan - 1) + (req->duration +
4063 arg->num_chan, arg->max_scan_time);
4065 scan_timeout = arg->max_scan_time;
4071 ret = ath11k_start_scan(ar, arg);
4083 if (arg) {
4084 kfree(arg->chan_list);
4085 kfree(arg->extraie.ptr);
4086 kfree(arg);
4116 struct wmi_vdev_install_key_arg arg = {
4133 arg.key_cipher = WMI_CIPHER_NONE;
4134 arg.key_data = NULL;
4140 arg.key_cipher = WMI_CIPHER_AES_CCM;
4145 arg.key_cipher = WMI_CIPHER_TKIP;
4146 arg.key_txmic_len = 8;
4147 arg.key_rxmic_len = 8;
4150 arg.key_cipher = WMI_CIPHER_AES_CCM;
4154 arg.key_cipher = WMI_CIPHER_AES_GCM;
4166 ret = ath11k_wmi_vdev_install_key(arvif->ar, &arg);
7198 struct wmi_vdev_start_req_arg arg = {};
7206 arg.vdev_id = arvif->vdev_id;
7207 arg.dtim_period = arvif->dtim_period;
7208 arg.bcn_intval = arvif->beacon_interval;
7210 arg.channel.freq = chandef->chan->center_freq;
7211 arg.channel.band_center_freq1 = chandef->center_freq1;
7212 arg.channel.band_center_freq2 = chandef->center_freq2;
7213 arg.channel.mode =
7216 arg.channel.min_power = 0;
7217 arg.channel.max_power = chandef->chan->max_power;
7218 arg.channel.max_reg_power = chandef->chan->max_reg_power;
7219 arg.channel.max_antenna_gain = chandef->chan->max_antenna_gain;
7221 arg.pref_tx_streams = ar->num_tx_chains;
7222 arg.pref_rx_streams = ar->num_rx_chains;
7224 arg.mbssid_flags = 0;
7225 arg.mbssid_tx_vdev_id = 0;
7229 &arg.mbssid_flags,
7230 &arg.mbssid_tx_vdev_id);
7236 arg.ssid = arvif->u.ap.ssid;
7237 arg.ssid_len = arvif->u.ap.ssid_len;
7238 arg.hidden_ssid = arvif->u.ap.hidden_ssid;
7241 arg.channel.chan_radar =
7244 arg.channel.freq2_radar = ctx->radar_enabled;
7246 arg.channel.passive = arg.channel.chan_radar;
7249 arg.regdomain = ar->ab->dfs_region;
7253 arg.channel.passive |= !!(chandef->chan->flags & IEEE80211_CHAN_NO_IR);
7257 arg.vdev_id, arg.channel.freq,
7258 ath11k_wmi_phymode_str(arg.channel.mode));
7260 ret = ath11k_wmi_vdev_start(ar, &arg, restart);
7263 restart ? "restart" : "start", arg.vdev_id);
7270 arg.vdev_id, restart ? "restart" : "start", ret);
7293 arg.channel.freq, arg.vdev_id);
7367 struct ath11k_mac_change_chanctx_arg *arg = data;
7369 if (rcu_access_pointer(vif->bss_conf.chanctx_conf) != arg->ctx)
7372 arg->n_vifs++;
7379 struct ath11k_mac_change_chanctx_arg *arg = data;
7383 if (ctx != arg->ctx)
7386 if (WARN_ON(arg->next_vif == arg->n_vifs))
7389 arg->vifs[arg->next_vif].vif = vif;
7390 arg->vifs[arg->next_vif].old_ctx = ctx;
7391 arg->vifs[arg->next_vif].new_ctx = ctx;
7392 arg->next_vif++;
7495 struct ath11k_mac_change_chanctx_arg arg = { .ctx = ctx };
7502 &arg);
7503 if (arg.n_vifs == 0)
7506 arg.vifs = kcalloc(arg.n_vifs, sizeof(arg.vifs[0]), GFP_KERNEL);
7507 if (!arg.vifs)
7513 &arg);
7515 ath11k_mac_update_vif_chan(ar, arg.vifs, arg.n_vifs);
7517 kfree(arg.vifs);
8913 struct scan_req_params arg;
8945 memset(&arg, 0, sizeof(arg));
8946 ath11k_wmi_start_scan_init(ar, &arg);
8947 arg.num_chan = 1;
8948 arg.chan_list = kcalloc(arg.num_chan, sizeof(*arg.chan_list),
8950 if (!arg.chan_list) {
8955 arg.vdev_id = arvif->vdev_id;
8956 arg.scan_id = ATH11K_SCAN_ID;
8957 arg.chan_list[0] = chan->center_freq;
8958 arg.dwell_time_active = scan_time_msec;
8959 arg.dwell_time_passive = scan_time_msec;
8960 arg.max_scan_time = scan_time_msec;
8961 arg.scan_flags |= WMI_SCAN_FLAG_PASSIVE;
8962 arg.scan_flags |= WMI_SCAN_FILTER_PROBE_REQ;
8963 arg.burst_duration = duration;
8965 ret = ath11k_start_scan(ar, &arg);
8991 kfree(arg.chan_list);
9819 struct wmi_sta_keepalive_arg arg = {};
9830 arg.vdev_id = arvif->vdev_id;
9831 arg.enabled = 1;
9832 arg.method = method;
9833 arg.interval = interval;
9835 ret = ath11k_wmi_sta_keepalive(ar, &arg);