]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
iwlwifi: fw api: support adwell HB default APs number api
authorShahar S Matityahu <shahar.s.matityahu@intel.com>
Wed, 1 May 2019 14:13:02 +0000 (17:13 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Sat, 29 Jun 2019 07:09:37 +0000 (10:09 +0300)
Support adaptive dwell high band default number of APs new api.

Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/api/scan.h
drivers/net/wireless/intel/iwlwifi/fw/file.h
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
drivers/net/wireless/intel/iwlwifi/mvm/scan.c

index 1a67a2a439ab4d9c4bb161f96a56a803eddacba6..c4960f045415b95deee13adf676710a399428296 100644 (file)
@@ -750,6 +750,21 @@ struct iwl_scan_req_umac {
                        struct iwl_scan_umac_chan_param channel;
                        u8 data[];
                } v8; /* SCAN_REQUEST_CMD_UMAC_API_S_VER_8 */
+               struct {
+                       u8 active_dwell[SCAN_TWO_LMACS];
+                       u8 adwell_default_hb_n_aps;
+                       u8 adwell_default_lb_n_aps;
+                       u8 adwell_default_n_aps_social;
+                       u8 general_flags2;
+                       __le16 adwell_max_budget;
+                       __le32 max_out_time[SCAN_TWO_LMACS];
+                       __le32 suspend_time[SCAN_TWO_LMACS];
+                       __le32 scan_priority;
+                       u8 passive_dwell[SCAN_TWO_LMACS];
+                       u8 num_of_fragments[SCAN_TWO_LMACS];
+                       struct iwl_scan_umac_chan_param channel;
+                       u8 data[];
+               } v9; /* SCAN_REQUEST_CMD_UMAC_API_S_VER_9 */
        };
 } __packed;
 
index 71438c40a6378cbd60e6fba1b17ec2de7de5a006..7b65a94ba7dd4b9b3776e561d9bc059f240a0868 100644 (file)
@@ -319,6 +319,7 @@ enum iwl_ucode_tlv_api {
        IWL_UCODE_TLV_API_MBSSID_HE             = (__force iwl_ucode_tlv_api_t)52,
        IWL_UCODE_TLV_API_WOWLAN_TCP_SYN_WAKE   = (__force iwl_ucode_tlv_api_t)53,
        IWL_UCODE_TLV_API_FTM_RTT_ACCURACY      = (__force iwl_ucode_tlv_api_t)54,
+       IWL_UCODE_TLV_API_ADWELL_HB_DEF_N_AP    = (__force iwl_ucode_tlv_api_t)57,
 
        NUM_IWL_UCODE_TLV_API
 #ifdef __CHECKER__
index 4dbbebd66d27c9c808ac69c39ed5cad7fadaa59b..e2b451c3da3a03980be34974274c303a3ca8e7bb 100644 (file)
@@ -1306,6 +1306,12 @@ static inline bool iwl_mvm_is_adaptive_dwell_v2_supported(struct iwl_mvm *mvm)
                          IWL_UCODE_TLV_API_ADAPTIVE_DWELL_V2);
 }
 
+static inline bool iwl_mvm_is_adwell_hb_ap_num_supported(struct iwl_mvm *mvm)
+{
+       return fw_has_api(&mvm->fw->ucode_capa,
+                         IWL_UCODE_TLV_API_ADWELL_HB_DEF_N_AP);
+}
+
 static inline bool iwl_mvm_is_oce_supported(struct iwl_mvm *mvm)
 {
        /* OCE should never be enabled for LMAC scan FWs */
index d9ddf9ff6428e306f9899f7a8b69f6c197ce9387..c284e6975b1b0b7aac115b7df2b957d12288cead 100644 (file)
 #define IWL_SCAN_ADWELL_MAX_BUDGET_FULL_SCAN 300
 /* adaptive dwell max budget time [TU] for directed scan */
 #define IWL_SCAN_ADWELL_MAX_BUDGET_DIRECTED_SCAN 100
-/* adaptive dwell default APs number */
-#define IWL_SCAN_ADWELL_DEFAULT_N_APS 2
+/* adaptive dwell default high band APs number */
+#define IWL_SCAN_ADWELL_DEFAULT_HB_N_APS 8
+/* adaptive dwell default low band APs number */
+#define IWL_SCAN_ADWELL_DEFAULT_LB_N_APS 2
 /* adaptive dwell default APs number in social channels (1, 6, 11) */
 #define IWL_SCAN_ADWELL_DEFAULT_N_APS_SOCIAL 10
 
@@ -1288,7 +1290,11 @@ static void iwl_mvm_scan_umac_dwell(struct iwl_mvm *mvm,
                cmd->v7.adwell_default_n_aps_social =
                        IWL_SCAN_ADWELL_DEFAULT_N_APS_SOCIAL;
                cmd->v7.adwell_default_n_aps =
-                       IWL_SCAN_ADWELL_DEFAULT_N_APS;
+                       IWL_SCAN_ADWELL_DEFAULT_LB_N_APS;
+
+               if (iwl_mvm_is_adwell_hb_ap_num_supported(mvm))
+                       cmd->v9.adwell_default_hb_n_aps =
+                               IWL_SCAN_ADWELL_DEFAULT_HB_N_APS;
 
                /* if custom max budget was configured with debugfs */
                if (IWL_MVM_ADWELL_MAX_BUDGET)