Lines Matching defs:arg
230 struct wmi_vdev_install_key_arg arg = {
243 arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_AES_CCM];
247 arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_TKIP];
248 arg.key_txmic_len = 8;
249 arg.key_rxmic_len = 8;
253 arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_WEP];
256 arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_AES_CCM];
260 arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_AES_GCM];
278 arg.key_cipher = ar->wmi_key_cipher[WMI_CIPHER_NONE];
279 arg.key_data = NULL;
282 return ath10k_wmi_vdev_install_key(arvif->ar, &arg);
929 struct wmi_tdls_peer_update_cmd_arg arg = {};
935 arg.vdev_id = vdev_id;
936 arg.peer_state = state;
937 ether_addr_copy(arg.addr, sta->addr);
946 ret = ath10k_wmi_tdls_peer_update(ar, &arg, &cap, &chan_arg);
949 arg.addr, vdev_id, ret);
1023 struct wmi_vdev_start_request_arg arg = {};
1036 arg.vdev_id = vdev_id;
1037 arg.channel.freq = channel->center_freq;
1038 arg.channel.band_center_freq1 = chandef->center_freq1;
1039 arg.channel.band_center_freq2 = chandef->center_freq2;
1044 arg.channel.mode = chan_to_phymode(chandef);
1045 arg.channel.chan_radar =
1048 arg.channel.min_power = 0;
1049 arg.channel.max_power = channel->max_power * 2;
1050 arg.channel.max_reg_power = channel->max_reg_power * 2;
1051 arg.channel.max_antenna_gain = channel->max_antenna_gain;
1056 ret = ath10k_wmi_vdev_start(ar, &arg);
1477 struct wmi_vdev_start_request_arg arg = {};
1485 arg.vdev_id = arvif->vdev_id;
1486 arg.dtim_period = arvif->dtim_period;
1487 arg.bcn_intval = arvif->beacon_interval;
1489 arg.channel.freq = chandef->chan->center_freq;
1490 arg.channel.band_center_freq1 = chandef->center_freq1;
1491 arg.channel.band_center_freq2 = chandef->center_freq2;
1492 arg.channel.mode = chan_to_phymode(chandef);
1494 arg.channel.min_power = 0;
1495 arg.channel.max_power = chandef->chan->max_power * 2;
1496 arg.channel.max_reg_power = chandef->chan->max_reg_power * 2;
1497 arg.channel.max_antenna_gain = chandef->chan->max_antenna_gain;
1500 arg.ssid = arvif->u.ap.ssid;
1501 arg.ssid_len = arvif->u.ap.ssid_len;
1502 arg.hidden_ssid = arvif->u.ap.hidden_ssid;
1505 arg.channel.chan_radar =
1508 arg.ssid = arvif->vif->bss_conf.ssid;
1509 arg.ssid_len = arvif->vif->bss_conf.ssid_len;
1514 arg.vdev_id, arg.channel.freq,
1515 ath10k_wmi_phymode_str(arg.channel.mode));
1518 ret = ath10k_wmi_vdev_restart(ar, &arg);
1520 ret = ath10k_wmi_vdev_start(ar, &arg);
1524 arg.vdev_id, ret);
1532 arg.vdev_id, restart, ret);
1984 struct wmi_sta_keepalive_arg arg = {};
1998 arg.vdev_id = arvif->vdev_id;
1999 arg.enabled = 1;
2000 arg.method = WMI_STA_KEEPALIVE_METHOD_NULL_FRAME;
2001 arg.interval = WMI_STA_KEEPALIVE_INTERVAL_DISABLE;
2003 ret = ath10k_wmi_sta_keepalive(ar, &arg);
2154 struct wmi_peer_assoc_complete_arg *arg)
2166 ether_addr_copy(arg->addr, sta->addr);
2167 arg->vdev_id = arvif->vdev_id;
2168 arg->peer_aid = aid;
2169 arg->peer_flags |= arvif->ar->wmi.peer_flags->auth;
2170 arg->peer_listen_intval = ath10k_peer_assoc_h_listen_intval(ar, vif);
2171 arg->peer_num_spatial_streams = 1;
2172 arg->peer_caps = vif->bss_conf.assoc_capability;
2178 struct wmi_peer_assoc_complete_arg *arg)
2212 arg->peer_flags |= ar->wmi.peer_flags->need_ptk_4_way;
2217 arg->peer_flags |= ar->wmi.peer_flags->need_gtk_2_way;
2223 arg->peer_flags |= ar->wmi.peer_flags->pmf;
2230 struct wmi_peer_assoc_complete_arg *arg)
2233 struct wmi_rate_set_arg *rateset = &arg->peer_legacy_rates;
2292 struct wmi_peer_assoc_complete_arg *arg)
2320 arg->peer_flags |= ar->wmi.peer_flags->ht;
2321 arg->peer_max_mpdu = (1 << (IEEE80211_HT_MAX_AMPDU_FACTOR +
2324 arg->peer_mpdu_density =
2327 arg->peer_ht_caps = ht_cap->cap;
2328 arg->peer_rate_caps |= WMI_RC_HT_FLAG;
2331 arg->peer_flags |= ar->wmi.peer_flags->ldbc;
2334 arg->peer_flags |= ar->wmi.peer_flags->bw40;
2335 arg->peer_rate_caps |= WMI_RC_CW40_FLAG;
2340 arg->peer_rate_caps |= WMI_RC_SGI_FLAG;
2343 arg->peer_rate_caps |= WMI_RC_SGI_FLAG;
2347 arg->peer_rate_caps |= WMI_RC_TX_STBC_FLAG;
2348 arg->peer_flags |= ar->wmi.peer_flags->stbc;
2355 arg->peer_rate_caps |= stbc;
2356 arg->peer_flags |= ar->wmi.peer_flags->stbc;
2360 arg->peer_rate_caps |= WMI_RC_TS_FLAG;
2362 arg->peer_rate_caps |= WMI_RC_DS_FLAG;
2368 arg->peer_ht_rates.rates[n++] = i;
2381 arg->peer_ht_rates.num_rates = 8;
2382 for (i = 0; i < arg->peer_ht_rates.num_rates; i++)
2383 arg->peer_ht_rates.rates[i] = i;
2385 arg->peer_ht_rates.num_rates = n;
2386 arg->peer_num_spatial_streams = min(sta->rx_nss, max_nss);
2390 arg->addr,
2391 arg->peer_ht_rates.num_rates,
2392 arg->peer_num_spatial_streams);
2541 struct wmi_peer_assoc_complete_arg *arg)
2565 arg->peer_flags |= ar->wmi.peer_flags->vht;
2568 arg->peer_flags |= ar->wmi.peer_flags->vht_2g;
2570 arg->peer_vht_caps = vht_cap->cap;
2578 * arg->peer_max_mpdu at this point contains HT max_mpdu so keep
2581 arg->peer_max_mpdu = max(arg->peer_max_mpdu,
2586 arg->peer_flags |= ar->wmi.peer_flags->bw80;
2589 arg->peer_flags |= ar->wmi.peer_flags->bw160;
2602 arg->peer_num_spatial_streams = min(sta->rx_nss, max_nss);
2603 arg->peer_vht_rates.rx_max_rate =
2605 arg->peer_vht_rates.rx_mcs_set =
2607 arg->peer_vht_rates.tx_max_rate =
2609 arg->peer_vht_rates.tx_mcs_set = ath10k_peer_assoc_h_vht_limit(
2615 if (arg->peer_phymode == MODE_11AC_VHT160 ||
2616 arg->peer_phymode == MODE_11AC_VHT80_80) {
2620 max_rate = arg->peer_vht_rates.rx_max_rate;
2624 rx_nss = arg->peer_num_spatial_streams;
2626 rx_nss = min(arg->peer_num_spatial_streams, rx_nss);
2631 arg->peer_bw_rxnss_override =
2635 if (arg->peer_phymode == MODE_11AC_VHT80_80) {
2636 arg->peer_bw_rxnss_override |=
2642 sta->addr, arg->peer_max_mpdu,
2643 arg->peer_flags, arg->peer_bw_rxnss_override);
2649 struct wmi_peer_assoc_complete_arg *arg)
2656 arg->peer_flags |= arvif->ar->wmi.peer_flags->qos;
2659 arg->peer_flags |= arvif->ar->wmi.peer_flags->apsd;
2660 arg->peer_rate_caps |= WMI_RC_UAPSD_FLAG;
2665 arg->peer_flags |= arvif->ar->wmi.peer_flags->qos;
2669 arg->peer_flags |= arvif->ar->wmi.peer_flags->qos;
2676 sta->addr, !!(arg->peer_flags &
2716 struct wmi_peer_assoc_complete_arg *arg)
2778 arg->peer_phymode = phymode;
2785 struct wmi_peer_assoc_complete_arg *arg)
2789 memset(arg, 0, sizeof(*arg));
2791 ath10k_peer_assoc_h_basic(ar, vif, sta, arg);
2792 ath10k_peer_assoc_h_crypto(ar, vif, sta, arg);
2793 ath10k_peer_assoc_h_rates(ar, vif, sta, arg);
2794 ath10k_peer_assoc_h_ht(ar, vif, sta, arg);
2795 ath10k_peer_assoc_h_phymode(ar, vif, sta, arg);
2796 ath10k_peer_assoc_h_vht(ar, vif, sta, arg);
2797 ath10k_peer_assoc_h_qos(ar, vif, sta, arg);
3031 struct wmi_per_peer_per_tid_cfg_arg arg = {};
3041 arg.tid = i;
3042 arg.vdev_id = arvif->vdev_id;
3043 arg.retry_count = arvif->retry_long[i];
3044 arg.aggr_control = arvif->ampdu[i];
3045 arg.rate_ctrl = arvif->rate_ctrl[i];
3046 arg.rcode_flags = arvif->rate_code[i];
3049 arg.ext_tid_cfg_bitmap =
3052 arg.ext_tid_cfg_bitmap = 0;
3054 arg.rtscts_ctrl = arvif->rtscts[i];
3058 arg.ack_policy = arvif->noack[i];
3059 arg.rate_ctrl = WMI_TID_CONFIG_RATE_CONTROL_DEFAULT_LOWEST_RATE;
3060 arg.aggr_control = WMI_TID_CONFIG_AGGR_CONTROL_DISABLE;
3075 ether_addr_copy(arg.peer_macaddr.addr, sta->addr);
3077 ret = ath10k_wmi_set_per_peer_per_tid_cfg(ar, &arg);
3084 memset(&arg, 0, sizeof(arg));
3200 struct wmi_scan_chan_list_arg arg = {0};
3219 arg.n_channels++;
3223 len = sizeof(struct wmi_channel_arg) * arg.n_channels;
3224 arg.channels = kzalloc(len, GFP_KERNEL);
3225 if (!arg.channels)
3228 ch = arg.channels;
3285 ch - arg.channels, arg.n_channels,
3293 ret = ath10k_wmi_scan_chan_list(ar, &arg);
3294 kfree(arg.channels);
3516 struct ath10k_mac_tx_pause *arg = data;
3518 if (arvif->vdev_id != arg->vdev_id)
3521 ath10k_mac_vif_handle_tx_pause(arvif, arg->pause_id, arg->action);
3528 struct ath10k_mac_tx_pause arg = {
3538 &arg);
4354 struct wmi_stop_scan_arg arg = {
4363 ret = ath10k_wmi_stop_scan(ar, &arg);
4439 const struct wmi_start_scan_arg *arg)
4445 ret = ath10k_wmi_start_scan(ar, arg);
6222 struct wmi_start_scan_arg arg;
6255 memset(&arg, 0, sizeof(arg));
6256 ath10k_wmi_start_scan_init(ar, &arg);
6257 arg.vdev_id = arvif->vdev_id;
6258 arg.scan_id = ATH10K_SCAN_ID;
6261 arg.ie_len = req->ie_len;
6262 memcpy(arg.ie, req->ie, arg.ie_len);
6266 arg.n_ssids = req->n_ssids;
6267 for (i = 0; i < arg.n_ssids; i++) {
6268 arg.ssids[i].len = req->ssids[i].ssid_len;
6269 arg.ssids[i].ssid = req->ssids[i].ssid;
6272 arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE;
6276 arg.scan_ctrl_flags |= WMI_SCAN_ADD_SPOOFED_MAC_IN_PROBE_REQ;
6277 ether_addr_copy(arg.mac_addr.addr, req->mac_addr);
6278 ether_addr_copy(arg.mac_mask.addr, req->mac_addr_mask);
6282 arg.n_channels = req->n_channels;
6283 for (i = 0; i < arg.n_channels; i++)
6284 arg.channels[i] = req->channels[i]->center_freq;
6289 arg.dwell_time_active = req->duration;
6290 arg.dwell_time_passive = req->duration;
6291 arg.burst_duration_ms = req->duration;
6293 scan_timeout = min_t(u32, arg.max_rest_time *
6294 (arg.n_channels - 1) + (req->duration +
6296 arg.n_channels, arg.max_scan_time + 200);
6300 scan_timeout = arg.max_scan_time + 200;
6303 ret = ath10k_start_scan(ar, &arg);
6907 struct wmi_per_peer_per_tid_cfg_arg *arg)
6920 if ((arsta->retry_long[arg->tid] > 0 ||
6921 arsta->rate_code[arg->tid] > 0 ||
6922 arsta->ampdu[arg->tid] ==
6924 arg->ack_policy == WMI_PEER_TID_CONFIG_NOACK) {
6926 arg->ack_policy = 0;
6927 arg->aggr_control = 0;
6928 arg->rate_ctrl = 0;
6929 arg->rcode_flags = 0;
6934 if (arsta->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK ||
6935 arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK) {
6936 arg->aggr_control = 0;
6943 if (arsta->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK ||
6944 arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK) {
6945 arg->rate_ctrl = 0;
6946 arg->rcode_flags = 0;
6950 ether_addr_copy(arg->peer_macaddr.addr, sta->addr);
6952 ret = ath10k_wmi_set_per_peer_per_tid_cfg(ar, arg);
6958 arsta->noack[arg->tid] = arg->ack_policy;
6959 arg->ack_policy = 0;
6960 arg->aggr_control = 0;
6961 arg->rate_ctrl = 0;
6962 arg->rcode_flags = 0;
6966 arsta->retry_long[arg->tid] = arg->retry_count;
6967 arg->retry_count = 0;
6971 arsta->ampdu[arg->tid] = arg->aggr_control;
6972 arg->aggr_control = 0;
6977 arsta->rate_ctrl[arg->tid] = arg->rate_ctrl;
6978 arg->rate_ctrl = 0;
6979 arg->rcode_flags = 0;
6983 arsta->rtscts[arg->tid] = arg->rtscts_ctrl;
6984 arg->ext_tid_cfg_bitmap = 0;
6988 if ((arvif->retry_long[arg->tid] ||
6989 arvif->rate_code[arg->tid] ||
6990 arvif->ampdu[arg->tid] ==
6992 arg->ack_policy == WMI_PEER_TID_CONFIG_NOACK) {
6995 arvif->noack[arg->tid] = arg->ack_policy;
6996 arvif->ampdu[arg->tid] = arg->aggr_control;
6997 arvif->rate_ctrl[arg->tid] = arg->rate_ctrl;
7002 if (arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK)
7005 arvif->retry_long[arg->tid] = arg->retry_count;
7009 if (arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK)
7012 arvif->ampdu[arg->tid] = arg->aggr_control;
7017 if (arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK) {
7021 arvif->rate_ctrl[arg->tid] = arg->rate_ctrl;
7022 arvif->rate_code[arg->tid] = arg->rcode_flags;
7027 arvif->rtscts[arg->tid] = arg->rtscts_ctrl;
7028 arg->ext_tid_cfg_bitmap = 0;
7032 arvif->tid_conf_changed[arg->tid] |= changed;
7043 struct wmi_per_peer_per_tid_cfg_arg *arg)
7057 arg->tid = i;
7061 arg->ack_policy = WMI_PEER_TID_CONFIG_NOACK;
7062 arg->rate_ctrl =
7064 arg->aggr_control =
7067 arg->ack_policy =
7069 arg->rate_ctrl =
7071 arg->aggr_control =
7077 arg->retry_count = tid_conf->retry_long;
7081 arg->aggr_control = WMI_TID_CONFIG_AGGR_CONTROL_ENABLE;
7083 arg->aggr_control = WMI_TID_CONFIG_AGGR_CONTROL_DISABLE;
7089 &arg->rcode_flags,
7090 &arg->rate_ctrl,
7096 arg->rcode_flags = 0;
7097 arg->rate_ctrl = 0;
7103 arg->rtscts_ctrl = tid_conf->rtscts;
7105 arg->ext_tid_cfg_bitmap = WMI_EXT_TID_RTS_CTS_CONFIG;
7108 ret = ath10k_mac_set_tid_config(ar, sta, vif, changed, arg);
7123 struct wmi_per_peer_per_tid_cfg_arg arg;
7126 arg.vdev_id = arvif->vdev_id;
7133 arg.tid = i;
7134 arg.ack_policy = WMI_PEER_TID_CONFIG_ACK;
7135 arg.retry_count = ATH10K_MAX_RETRY_COUNT;
7136 arg.rate_ctrl = WMI_TID_CONFIG_RATE_CONTROL_AUTO;
7137 arg.aggr_control = WMI_TID_CONFIG_AGGR_CONTROL_ENABLE;
7138 arg.rtscts_ctrl = WMI_TID_CONFIG_RTSCTS_CONTROL_ENABLE;
7139 arg.ext_tid_cfg_bitmap = WMI_EXT_TID_RTS_CTS_CONFIG;
7141 ether_addr_copy(arg.peer_macaddr.addr, sta->addr);
7143 ret = ath10k_wmi_set_per_peer_per_tid_cfg(ar, &arg);
7171 struct wmi_per_peer_per_tid_cfg_arg arg = {};
7194 ether_addr_copy(arg.peer_macaddr.addr, sta->addr);
7202 arg.ack_policy = 0;
7205 arg.ack_policy = arvif->noack[i];
7206 arg.aggr_control = arvif->ampdu[i];
7207 arg.rate_ctrl = arvif->rate_ctrl[i];
7215 arg.retry_count = 0;
7217 arg.retry_count = arvif->retry_long[i];
7226 arg.aggr_control = 0;
7228 arg.aggr_control = arvif->ampdu[i];
7241 arg.rate_ctrl = 0;
7242 arg.rcode_flags = 0;
7249 arg.rate_ctrl = 0;
7250 arg.rcode_flags = 0;
7252 arg.rate_ctrl = arvif->rate_ctrl[i];
7253 arg.rcode_flags = arvif->rate_code[i];
7260 arg.rtscts_ctrl = 0;
7261 arg.ext_tid_cfg_bitmap = 0;
7263 arg.rtscts_ctrl = arvif->rtscts[i] - 1;
7264 arg.ext_tid_cfg_bitmap =
7270 arg.tid = i;
7273 ret = ath10k_wmi_set_per_peer_per_tid_cfg(ar, &arg);
7279 arg.ack_policy = 0;
7280 arg.retry_count = 0;
7281 arg.aggr_control = 0;
7282 arg.rate_ctrl = 0;
7283 arg.rcode_flags = 0;
7567 struct wmi_sta_uapsd_auto_trig_arg arg = {};
7650 arg.wmm_ac = acc;
7651 arg.user_priority = prio;
7652 arg.service_interval = 0;
7653 arg.suspend_interval = WMI_STA_UAPSD_MAX_INTERVAL_MSEC;
7654 arg.delay_interval = WMI_STA_UAPSD_MAX_INTERVAL_MSEC;
7657 arvif->bssid, &arg, 1);
7747 struct wmi_start_scan_arg arg;
7784 memset(&arg, 0, sizeof(arg));
7785 ath10k_wmi_start_scan_init(ar, &arg);
7786 arg.vdev_id = arvif->vdev_id;
7787 arg.scan_id = ATH10K_SCAN_ID;
7788 arg.n_channels = 1;
7789 arg.channels[0] = chan->center_freq;
7790 arg.dwell_time_active = scan_time_msec;
7791 arg.dwell_time_passive = scan_time_msec;
7792 arg.max_scan_time = scan_time_msec;
7793 arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE;
7794 arg.scan_ctrl_flags |= WMI_SCAN_FILTER_PROBE_REQ;
7795 arg.burst_duration_ms = duration;
7797 ret = ath10k_start_scan(ar, &arg);
8685 struct ath10k_mac_change_chanctx_arg *arg = data;
8687 if (rcu_access_pointer(vif->chanctx_conf) != arg->ctx)
8690 arg->n_vifs++;
8697 struct ath10k_mac_change_chanctx_arg *arg = data;
8701 if (ctx != arg->ctx)
8704 if (WARN_ON(arg->next_vif == arg->n_vifs))
8707 arg->vifs[arg->next_vif].vif = vif;
8708 arg->vifs[arg->next_vif].old_ctx = ctx;
8709 arg->vifs[arg->next_vif].new_ctx = ctx;
8710 arg->next_vif++;
8719 struct ath10k_mac_change_chanctx_arg arg = { .ctx = ctx };
8738 &arg);
8739 if (arg.n_vifs == 0)
8742 arg.vifs = kcalloc(arg.n_vifs, sizeof(arg.vifs[0]),
8744 if (!arg.vifs)
8751 &arg);
8752 ath10k_mac_update_vif_chan(ar, arg.vifs, arg.n_vifs);
8753 kfree(arg.vifs);
9194 struct wmi_per_peer_per_tid_cfg_arg arg = {};
9198 arg.vdev_id = arvif->vdev_id;
9206 &arg);