Explorar o código

iwlwifi: mvm: add debugfs entry with the number of net-detect scans

Our testers need to know the number of scans performed while in
net-detect mode before the device wakes up.  The firmware already
passes this information to the driver, so we can save it and report it
in a debugfs entry.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Luciano Coelho %!s(int64=10) %!d(string=hai) anos
pai
achega
484b3d13b4

+ 4 - 0
drivers/net/wireless/iwlwifi/mvm/d3.c

@@ -1726,6 +1726,10 @@ iwl_mvm_netdetect_query_results(struct iwl_mvm *mvm,
 	results->matched_profiles = le32_to_cpu(query->matched_profiles);
 	results->matched_profiles = le32_to_cpu(query->matched_profiles);
 	memcpy(results->matches, query->matches, sizeof(results->matches));
 	memcpy(results->matches, query->matches, sizeof(results->matches));
 
 
+#ifdef CPTCFG_IWLWIFI_DEBUGFS
+	mvm->last_netdetect_scans = le32_to_cpu(query->n_scans_done);
+#endif
+
 out_free_resp:
 out_free_resp:
 	iwl_free_resp(&cmd);
 	iwl_free_resp(&cmd);
 	return ret;
 	return ret;

+ 3 - 0
drivers/net/wireless/iwlwifi/mvm/debugfs.c

@@ -1569,6 +1569,9 @@ int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir)
 	if (!debugfs_create_bool("d3_wake_sysassert", S_IRUSR | S_IWUSR,
 	if (!debugfs_create_bool("d3_wake_sysassert", S_IRUSR | S_IWUSR,
 				 mvm->debugfs_dir, &mvm->d3_wake_sysassert))
 				 mvm->debugfs_dir, &mvm->d3_wake_sysassert))
 		goto err;
 		goto err;
+	if (!debugfs_create_u32("last_netdetect_scans", S_IRUSR,
+				mvm->debugfs_dir, &mvm->last_netdetect_scans))
+		goto err;
 	MVM_DEBUGFS_ADD_FILE(netdetect, mvm->debugfs_dir, S_IRUSR | S_IWUSR);
 	MVM_DEBUGFS_ADD_FILE(netdetect, mvm->debugfs_dir, S_IRUSR | S_IWUSR);
 #endif
 #endif
 
 

+ 1 - 0
drivers/net/wireless/iwlwifi/mvm/mvm.h

@@ -748,6 +748,7 @@ struct iwl_mvm {
 	void *d3_resume_sram;
 	void *d3_resume_sram;
 	u32 d3_test_pme_ptr;
 	u32 d3_test_pme_ptr;
 	struct ieee80211_vif *keep_vif;
 	struct ieee80211_vif *keep_vif;
+	u32 last_netdetect_scans; /* no. of scans in the last net-detect wake */
 #endif
 #endif
 #endif
 #endif