Lines Matching refs:pno

173 				struct wmi_pno_scan_req *pno)  in ath10k_wmi_pno_check()  argument
178 pno->enable = 1; in ath10k_wmi_pno_check()
179 pno->vdev_id = vdev_id; in ath10k_wmi_pno_check()
180 pno->uc_networks_count = nd_config->n_match_sets; in ath10k_wmi_pno_check()
182 if (!pno->uc_networks_count || in ath10k_wmi_pno_check()
183 pno->uc_networks_count > WMI_PNO_MAX_SUPP_NETWORKS) in ath10k_wmi_pno_check()
190 for (i = 0; i < pno->uc_networks_count; i++) { in ath10k_wmi_pno_check()
196 pno->a_networks[i].ssid.ssid_len = __cpu_to_le32(ssid_len); in ath10k_wmi_pno_check()
198 memcpy(pno->a_networks[i].ssid.ssid, in ath10k_wmi_pno_check()
201 pno->a_networks[i].authentication = 0; in ath10k_wmi_pno_check()
202 pno->a_networks[i].encryption = 0; in ath10k_wmi_pno_check()
203 pno->a_networks[i].bcast_nw_type = 0; in ath10k_wmi_pno_check()
206 pno->a_networks[i].channel_count = nd_config->n_channels; in ath10k_wmi_pno_check()
207 pno->a_networks[i].rssi_threshold = nd_config->match_sets[i].rssi_thold; in ath10k_wmi_pno_check()
210 pno->a_networks[i].channels[j] = in ath10k_wmi_pno_check()
217 pno->do_passive_scan = true; in ath10k_wmi_pno_check()
219 pno->do_passive_scan = false; in ath10k_wmi_pno_check()
223 while (j < pno->uc_networks_count) { in ath10k_wmi_pno_check()
224 if (__le32_to_cpu(pno->a_networks[j].ssid.ssid_len) == in ath10k_wmi_pno_check()
226 (memcmp(pno->a_networks[j].ssid.ssid, in ath10k_wmi_pno_check()
228 __le32_to_cpu(pno->a_networks[j].ssid.ssid_len)) == 0)) { in ath10k_wmi_pno_check()
229 pno->a_networks[j].bcast_nw_type = BCAST_HIDDEN; in ath10k_wmi_pno_check()
237 pno->fast_scan_period = nd_config->scan_plans[0].interval * MSEC_PER_SEC; in ath10k_wmi_pno_check()
238 pno->fast_scan_max_cycles = nd_config->scan_plans[0].iterations; in ath10k_wmi_pno_check()
239 pno->slow_scan_period = in ath10k_wmi_pno_check()
242 pno->fast_scan_period = nd_config->scan_plans[0].interval * MSEC_PER_SEC; in ath10k_wmi_pno_check()
243 pno->fast_scan_max_cycles = 1; in ath10k_wmi_pno_check()
244 pno->slow_scan_period = nd_config->scan_plans[0].interval * MSEC_PER_SEC; in ath10k_wmi_pno_check()
252 pno->enable_pno_scan_randomization = 1; in ath10k_wmi_pno_check()
253 memcpy(pno->mac_addr, nd_config->mac_addr, ETH_ALEN); in ath10k_wmi_pno_check()
254 memcpy(pno->mac_addr_mask, nd_config->mac_addr_mask, ETH_ALEN); in ath10k_wmi_pno_check()
257 pno->delay_start_time = nd_config->delay; in ath10k_wmi_pno_check()
260 pno->active_max_time = WMI_ACTIVE_MAX_CHANNEL_TIME; in ath10k_wmi_pno_check()
261 pno->passive_max_time = WMI_PASSIVE_MAX_CHANNEL_TIME; in ath10k_wmi_pno_check()
300 struct wmi_pno_scan_req *pno; in ath10k_vif_wow_set_wakeups() local
303 pno = kzalloc(sizeof(*pno), GFP_KERNEL); in ath10k_vif_wow_set_wakeups()
304 if (!pno) in ath10k_vif_wow_set_wakeups()
310 wowlan->nd_config, pno); in ath10k_vif_wow_set_wakeups()
312 ath10k_wmi_wow_config_pno(ar, arvif->vdev_id, pno); in ath10k_vif_wow_set_wakeups()
316 kfree(pno); in ath10k_vif_wow_set_wakeups()
412 struct wmi_pno_scan_req *pno; in ath10k_vif_wow_clean_nlo() local
414 pno = kzalloc(sizeof(*pno), GFP_KERNEL); in ath10k_vif_wow_clean_nlo()
415 if (!pno) in ath10k_vif_wow_clean_nlo()
418 pno->enable = 0; in ath10k_vif_wow_clean_nlo()
420 ret = ath10k_wmi_wow_config_pno(ar, arvif->vdev_id, pno); in ath10k_vif_wow_clean_nlo()
421 kfree(pno); in ath10k_vif_wow_clean_nlo()