diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h | 34 |
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 | ||
372 | enum 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 | */ |
453 | struct iwl_scan_offload_blacklist { | 461 | struct 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 | ||
459 | enum iwl_scan_offload_network_type { | 467 | enum 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 | */ |
479 | struct iwl_scan_offload_profile { | 488 | struct 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 | */ |
495 | struct iwl_scan_offload_profile_cfg { | 508 | struct 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 | */ | ||
583 | struct iwl_sched_scan_results { | ||
584 | __le16 ssid_bitmap; | ||
585 | u8 client_bitmap; | ||
586 | u8 reserved; | ||
587 | }; | ||
588 | |||
563 | #endif | 589 | #endif |