aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h34
1 files changed, 30 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h
index 83cb9b992ea4..c3782b48ded1 100644
--- a/drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h
+++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h
@@ -356,6 +356,7 @@ struct iwl_scan_complete_notif {
356/* scan offload */ 356/* scan offload */
357#define IWL_MAX_SCAN_CHANNELS 40 357#define IWL_MAX_SCAN_CHANNELS 40
358#define IWL_SCAN_MAX_BLACKLIST_LEN 64 358#define IWL_SCAN_MAX_BLACKLIST_LEN 64
359#define IWL_SCAN_SHORT_BLACKLIST_LEN 16
359#define IWL_SCAN_MAX_PROFILES 11 360#define IWL_SCAN_MAX_PROFILES 11
360#define SCAN_OFFLOAD_PROBE_REQ_SIZE 512 361#define SCAN_OFFLOAD_PROBE_REQ_SIZE 512
361 362
@@ -368,6 +369,12 @@ struct iwl_scan_complete_notif {
368#define IWL_FULL_SCAN_MULTIPLIER 5 369#define IWL_FULL_SCAN_MULTIPLIER 5
369#define IWL_FAST_SCHED_SCAN_ITERATIONS 3 370#define IWL_FAST_SCHED_SCAN_ITERATIONS 3
370 371
372enum scan_framework_client {
373 SCAN_CLIENT_SCHED_SCAN = BIT(0),
374 SCAN_CLIENT_NETDETECT = BIT(1),
375 SCAN_CLIENT_ASSET_TRACKING = BIT(2),
376};
377
371/** 378/**
372 * struct iwl_scan_offload_cmd - SCAN_REQUEST_FIXED_PART_API_S_VER_6 379 * struct iwl_scan_offload_cmd - SCAN_REQUEST_FIXED_PART_API_S_VER_6
373 * @scan_flags: see enum iwl_scan_flags 380 * @scan_flags: see enum iwl_scan_flags
@@ -449,11 +456,12 @@ struct iwl_scan_offload_cfg {
449 * iwl_scan_offload_blacklist - SCAN_OFFLOAD_BLACKLIST_S 456 * iwl_scan_offload_blacklist - SCAN_OFFLOAD_BLACKLIST_S
450 * @ssid: MAC address to filter out 457 * @ssid: MAC address to filter out
451 * @reported_rssi: AP rssi reported to the host 458 * @reported_rssi: AP rssi reported to the host
459 * @client_bitmap: clients ignore this entry - enum scan_framework_client
452 */ 460 */
453struct iwl_scan_offload_blacklist { 461struct iwl_scan_offload_blacklist {
454 u8 ssid[ETH_ALEN]; 462 u8 ssid[ETH_ALEN];
455 u8 reported_rssi; 463 u8 reported_rssi;
456 u8 reserved; 464 u8 client_bitmap;
457} __packed; 465} __packed;
458 466
459enum iwl_scan_offload_network_type { 467enum iwl_scan_offload_network_type {
@@ -475,6 +483,7 @@ enum iwl_scan_offload_band_selection {
475 * @aut_alg: authentication olgorithm to match - bitmap 483 * @aut_alg: authentication olgorithm to match - bitmap
476 * @network_type: enum iwl_scan_offload_network_type 484 * @network_type: enum iwl_scan_offload_network_type
477 * @band_selection: enum iwl_scan_offload_band_selection 485 * @band_selection: enum iwl_scan_offload_band_selection
486 * @client_bitmap: clients waiting for match - enum scan_framework_client
478 */ 487 */
479struct iwl_scan_offload_profile { 488struct iwl_scan_offload_profile {
480 u8 ssid_index; 489 u8 ssid_index;
@@ -482,7 +491,8 @@ struct iwl_scan_offload_profile {
482 u8 auth_alg; 491 u8 auth_alg;
483 u8 network_type; 492 u8 network_type;
484 u8 band_selection; 493 u8 band_selection;
485 u8 reserved[3]; 494 u8 client_bitmap;
495 u8 reserved[2];
486} __packed; 496} __packed;
487 497
488/** 498/**
@@ -491,13 +501,18 @@ struct iwl_scan_offload_profile {
491 * @profiles: profiles to search for match 501 * @profiles: profiles to search for match
492 * @blacklist_len: length of blacklist 502 * @blacklist_len: length of blacklist
493 * @num_profiles: num of profiles in the list 503 * @num_profiles: num of profiles in the list
504 * @match_notify: clients waiting for match found notification
505 * @pass_match: clients waiting for the results
506 * @active_clients: active clients bitmap - enum scan_framework_client
494 */ 507 */
495struct iwl_scan_offload_profile_cfg { 508struct iwl_scan_offload_profile_cfg {
496 struct iwl_scan_offload_blacklist blacklist[IWL_SCAN_MAX_BLACKLIST_LEN];
497 struct iwl_scan_offload_profile profiles[IWL_SCAN_MAX_PROFILES]; 509 struct iwl_scan_offload_profile profiles[IWL_SCAN_MAX_PROFILES];
498 u8 blacklist_len; 510 u8 blacklist_len;
499 u8 num_profiles; 511 u8 num_profiles;
500 u8 reserved[2]; 512 u8 match_notify;
513 u8 pass_match;
514 u8 active_clients;
515 u8 reserved[3];
501} __packed; 516} __packed;
502 517
503/** 518/**
@@ -560,4 +575,15 @@ struct iwl_scan_offload_complete {
560 u8 reserved; 575 u8 reserved;
561} __packed; 576} __packed;
562 577
578/**
579 * iwl_sched_scan_results - SCAN_OFFLOAD_MATCH_FOUND_NTF_API_S_VER_1
580 * @ssid_bitmap: SSIDs indexes found in this iteration
581 * @client_bitmap: clients that are active and wait for this notification
582 */
583struct iwl_sched_scan_results {
584 __le16 ssid_bitmap;
585 u8 client_bitmap;
586 u8 reserved;
587};
588
563#endif 589#endif