Lines Matching full:scan
12 #include "fw/api/scan.h"
24 /* adaptive dwell max budget time [TU] for full scan */
26 /* adaptive dwell max budget time [TU] for directed scan */
34 /* number of scan channels */
45 /* minimal number of 2GHz and 5GHz channels in the regular scan request */
48 /* Number of iterations on the channel for mei filtered scan */
80 /* For CDB this is low band scan type, for non-CDB - type. */
244 * set all scan requests as fast-balance scan in _iwl_mvm_get_scan_type()
288 /* require rrm scan whenever the fw supports it */ in iwl_mvm_rrm_scan_needed()
314 * scan IEs, however the LMAC scan api contains both 2GHZ and 5GHZ IEs in iwl_mvm_max_scan_ie_len()
316 * is just iwl_mvm_max_scan_ie_fw_cmd_room() / 2. Currently the scan in iwl_mvm_max_scan_ie_len()
318 * bytes for scan IEs, which is clearly not enough. So meanwhile in iwl_mvm_max_scan_ie_len()
320 * issue a scan in unified_scan_lmac and unified_sched_scan_lmac in iwl_mvm_max_scan_ie_len()
333 "Scan offload iteration complete: status=0x%x scanned channels=%d\n", in iwl_mvm_rx_lmac_scan_iter_complete_notif()
337 IWL_DEBUG_SCAN(mvm, "Pass all scheduled scan results found\n"); in iwl_mvm_rx_lmac_scan_iter_complete_notif()
346 IWL_DEBUG_SCAN(mvm, "Scheduled scan results\n"); in iwl_mvm_rx_scan_match_found()
378 /* scan status must be locked for proper checking */ in iwl_mvm_rx_lmac_scan_complete_notif()
381 /* We first check if we were stopping a scan, in which case we in iwl_mvm_rx_lmac_scan_complete_notif()
385 * Note that we can have a stopping and a running scan in iwl_mvm_rx_lmac_scan_complete_notif()
394 IWL_DEBUG_SCAN(mvm, "Scheduled scan %s, EBS status %s\n", in iwl_mvm_rx_lmac_scan_complete_notif()
405 IWL_DEBUG_SCAN(mvm, "Regular scan %s, EBS status %s\n", in iwl_mvm_rx_lmac_scan_complete_notif()
413 IWL_DEBUG_SCAN(mvm, "Scheduled scan %s, EBS status %s\n", in iwl_mvm_rx_lmac_scan_complete_notif()
430 IWL_DEBUG_SCAN(mvm, "Regular scan %s, EBS status %s (FW)\n", in iwl_mvm_rx_lmac_scan_complete_notif()
440 "got scan complete notification but no scan is running\n"); in iwl_mvm_rx_lmac_scan_complete_notif()
490 /* add SSIDs from scan SSID list */ in iwl_scan_build_ssids()
586 IWL_DEBUG_SCAN(mvm, "Sending scheduled scan profile config\n"); in iwl_mvm_config_sched_scan_profiles()
601 "Sending scheduled scan with filtering, n_match_sets %d\n", in iwl_mvm_scan_pass_all()
607 IWL_DEBUG_SCAN(mvm, "Sending Scheduled scan without filtering\n"); in iwl_mvm_scan_pass_all()
627 * The scan abort will return 1 for success or in iwl_mvm_lmac_scan_abort()
629 * due to simply not being in an active scan which in iwl_mvm_lmac_scan_abort()
630 * can occur if we send the scan abort before the in iwl_mvm_lmac_scan_abort()
631 * microcode has notified us that a scan is completed. in iwl_mvm_lmac_scan_abort()
633 IWL_DEBUG_SCAN(mvm, "SCAN OFFLOAD ABORT ret %d.\n", status); in iwl_mvm_lmac_scan_abort()
754 * Unfortunately, right now the offload scan doesn't support randomising in iwl_mvm_build_scan_probe()
756 * it in the driver. This means that the scan iterations won't really be in iwl_mvm_build_scan_probe()
852 * 3. if only single scan, the single scan EBS API is supported; in iwl_mvm_scan_use_ebs()
975 * If the number of iterations of the last scan plan is set to in iwl_mvm_scan_lmac()
977 * For example, when regular scan is requested the driver sets one scan in iwl_mvm_scan_lmac()
1207 * Check for fragmented scan on LMAC2 - high band. in iwl_mvm_legacy_config_scan()
1226 IWL_DEBUG_SCAN(mvm, "Sending UMAC scan config\n"); in iwl_mvm_legacy_config_scan()
1266 IWL_DEBUG_SCAN(mvm, "Sending UMAC scan config\n"); in iwl_mvm_config_scan()
1757 * Avoid performing passive scan on non PSC channels unless the in iwl_mvm_umac_scan_cfg_channels_v7_6g()
1758 * scan is specifically a passive scan, i.e., no SSIDs in iwl_mvm_umac_scan_cfg_channels_v7_6g()
1759 * configured in the scan command. in iwl_mvm_umac_scan_cfg_channels_v7_6g()
1776 * The optimize the scan time, i.e., reduce the scan dwell time in iwl_mvm_umac_scan_cfg_channels_v7_6g()
1819 * matching SSID, i.e., scan for hidden in iwl_mvm_umac_scan_cfg_channels_v7_6g()
1863 * In the following cases apply passive scan: in iwl_mvm_umac_scan_cfg_channels_v7_6g()
1864 * 1. Non fragmented scan: in iwl_mvm_umac_scan_cfg_channels_v7_6g()
1873 * 3. Fragmented scan: in iwl_mvm_umac_scan_cfg_channels_v7_6g()
1930 /* set fragmented ebs for fragmented scan on HB channels */ in iwl_mvm_scan_umac_chan_flags_v2()
1938 * force EBS in case the scan is a fragmented and there is a need to take P2P in iwl_mvm_scan_umac_chan_flags_v2()
1939 * GO operation into consideration during scan operation. in iwl_mvm_scan_umac_chan_flags_v2()
1969 "6GHz passive scan: Not supported by FW\n"); in iwl_mvm_scan_6ghz_passive_scan()
1973 /* 6GHz passive scan allowed only on station interface */ in iwl_mvm_scan_6ghz_passive_scan()
1976 "6GHz passive scan: not station interface\n"); in iwl_mvm_scan_6ghz_passive_scan()
1981 * 6GHz passive scan is allowed in a defined time interval following HW in iwl_mvm_scan_6ghz_passive_scan()
1983 * has passed since the last 6GHz passive scan. in iwl_mvm_scan_6ghz_passive_scan()
1991 IWL_DEBUG_SCAN(mvm, "6GHz passive scan: %s\n", in iwl_mvm_scan_6ghz_passive_scan()
1997 /* not enough channels in the regular scan request */ in iwl_mvm_scan_6ghz_passive_scan()
2000 "6GHz passive scan: not enough channels\n"); in iwl_mvm_scan_6ghz_passive_scan()
2009 /* not a wildcard scan, so cannot enable passive 6GHz scan */ in iwl_mvm_scan_6ghz_passive_scan()
2012 "6GHz passive scan: no wildcard SSID\n"); in iwl_mvm_scan_6ghz_passive_scan()
2018 "6GHz passive scan: no 6GHz channels\n"); in iwl_mvm_scan_6ghz_passive_scan()
2029 * scan in iwl_mvm_scan_6ghz_passive_scan()
2033 "6GHz passive scan: 6GHz channels enabled\n"); in iwl_mvm_scan_6ghz_passive_scan()
2037 /* all conditions to enable 6ghz passive scan are satisfied */ in iwl_mvm_scan_6ghz_passive_scan()
2038 IWL_DEBUG_SCAN(mvm, "6GHz passive scan: can be enabled\n"); in iwl_mvm_scan_6ghz_passive_scan()
2050 * If no direct SSIDs are provided perform a passive scan. Otherwise, in iwl_mvm_scan_umac_flags_v2()
2052 * that the scan is intended for roaming purposes and thus enable Rx on in iwl_mvm_scan_umac_flags_v2()
2174 * only scan type on low band also for CDB. in iwl_mvm_scan_umac_flags()
2223 * If the number of iterations of the last scan plan is set to in iwl_mvm_fill_scan_sched_params()
2225 * For example, when regular scan is requested the driver sets one scan in iwl_mvm_fill_scan_sched_params()
2286 /* set fragmented ebs for fragmented scan on HB channels */ in iwl_mvm_scan_umac()
2352 * be possible that the link ID would be part of the scan in iwl_mvm_scan_umac_fill_general_p_v12()
2593 * trying to run a scan type that is already running, we in iwl_mvm_check_running_scans()
2595 * different type of scan, we stop the opposite type to make in iwl_mvm_check_running_scans()
2598 * scheduled scan before starting a normal scan. in iwl_mvm_check_running_scans()
2601 /* FW supports only a single periodic scan */ in iwl_mvm_check_running_scans()
2634 * another scheduled scan while suspended. in iwl_mvm_check_running_scans()
2642 /* Something is wrong if no scan was running but we in iwl_mvm_check_running_scans()
2662 IWL_ERR(mvm, "regular scan timed out\n"); in iwl_mvm_scan_timeout_wk()
2735 * override the scan request to scan only the associated channel and only for
2770 /* The mei filtered scan must find the AP, otherwise CSME will in iwl_mvm_mei_limited_scan()
2772 * make the scan more robust. in iwl_mvm_mei_limited_scan()
2779 IWL_DEBUG_SCAN(mvm, "Mei scan: num iterations=%u\n", scan_iters); in iwl_mvm_mei_limited_scan()
2939 IWL_ERR(mvm, "scan while LAR regdomain is not set\n"); in iwl_mvm_reg_scan_start()
2994 /* If the scan failed, it usually means that the FW was unable in iwl_mvm_reg_scan_start()
2998 IWL_ERR(mvm, "Scan failed! ret %d\n", ret); in iwl_mvm_reg_scan_start()
3004 IWL_DEBUG_SCAN(mvm, "Scan request was sent successfully\n"); in iwl_mvm_reg_scan_start()
3036 IWL_ERR(mvm, "sched-scan while LAR regdomain is not set\n"); in iwl_mvm_sched_scan_start()
3071 * waiting for over 18 hours to start the scan is a bit silly in iwl_mvm_sched_scan_start()
3133 "Sched scan request was sent successfully\n"); in iwl_mvm_sched_scan_start()
3136 /* If the scan failed, it usually means that the FW was unable in iwl_mvm_sched_scan_start()
3140 IWL_ERR(mvm, "Sched scan failed! ret %d\n", ret); in iwl_mvm_sched_scan_start()
3161 /* if the scan is already stopping, we don't need to notify mac80211 */ in iwl_mvm_rx_umac_scan_complete_notif()
3180 "Scan completed, uid %u type %u, status %s, EBS status %s\n", in iwl_mvm_rx_umac_scan_complete_notif()
3206 "UMAC Scan iteration complete: status=0x%x scanned_channels=%d\n", in iwl_mvm_rx_umac_scan_iter_complete_notif()
3210 IWL_DEBUG_SCAN(mvm, "Pass all scheduled scan results found\n"); in iwl_mvm_rx_umac_scan_iter_complete_notif()
3216 "UMAC Scan iteration complete: scan started at %llu (TSF)\n", in iwl_mvm_rx_umac_scan_iter_complete_notif()
3228 * checked that this type of scan was running in the generic in iwl_mvm_umac_scan_abort()
3237 IWL_DEBUG_SCAN(mvm, "Sending scan abort, uid %u\n", uid); in iwl_mvm_umac_scan_abort()
3262 IWL_DEBUG_SCAN(mvm, "Preparing to stop scan, type %x\n", type); in iwl_mvm_scan_stop_wait()
3270 IWL_DEBUG_SCAN(mvm, "couldn't stop scan type %d\n", type); in iwl_mvm_scan_stop_wait()
3353 /* Sched scan will be restarted by mac80211 in in iwl_mvm_report_scan_aborted()
3378 "UMAC scan UID %d status was not cleaned\n", in iwl_mvm_report_scan_aborted()
3392 /* Sched scan will be restarted by mac80211 in in iwl_mvm_report_scan_aborted()
3420 /* Clear the scan status so the next scan requests will in iwl_mvm_scan_stop()
3421 * succeed and mark the scan as stopping, so that the Rx in iwl_mvm_scan_stop()
3422 * handler doesn't do anything, as the scan was stopped from in iwl_mvm_scan_stop()