]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: iwlwifi: move fw_dbg_collect to fw debugfs
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sat, 28 Dec 2024 20:34:17 +0000 (22:34 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 13 Jan 2025 14:26:40 +0000 (15:26 +0100)
This debugfs hook really belongs to the firmware handling code and then
we can use it across different op_modes.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20241228223206.d31f5994c6a6.Ibe3bc7a25e2bbf7a575287e19db58833bb3e6b9e@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/debugfs.c
drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c

index e79fdb5fe3873870b7b3abe43d58b7dd77992b2f..f0c813d675f4d01fac0368352659b2fbdebc8cd1 100644 (file)
@@ -123,6 +123,24 @@ static const struct file_operations iwl_dbgfs_##name##_ops = {             \
 #define FWRT_DEBUGFS_ADD_FILE(name, parent, mode) \
        FWRT_DEBUGFS_ADD_FILE_ALIAS(#name, name, parent, mode)
 
+static ssize_t iwl_dbgfs_fw_dbg_collect_write(struct iwl_fw_runtime *fwrt,
+                                             char *buf, size_t count)
+{
+       if (count == 0)
+               return 0;
+
+       if (!iwl_trans_fw_running(fwrt->trans))
+               return count;
+
+       iwl_dbg_tlv_time_point(fwrt, IWL_FW_INI_TIME_POINT_USER_TRIGGER, NULL);
+
+       iwl_fw_dbg_collect(fwrt, FW_DBG_TRIGGER_USER, buf, (count - 1), NULL);
+
+       return count;
+}
+
+FWRT_DEBUGFS_WRITE_FILE_OPS(fw_dbg_collect, 16);
+
 static int iwl_dbgfs_enabled_severities_write(struct iwl_fw_runtime *fwrt,
                                              char *buf, size_t count)
 {
@@ -423,6 +441,7 @@ void iwl_fwrt_dbgfs_register(struct iwl_fw_runtime *fwrt,
        FWRT_DEBUGFS_ADD_FILE(fw_info, dbgfs_dir, 0200);
        FWRT_DEBUGFS_ADD_FILE(send_hcmd, dbgfs_dir, 0200);
        FWRT_DEBUGFS_ADD_FILE(enabled_severities, dbgfs_dir, 0200);
+       FWRT_DEBUGFS_ADD_FILE(fw_dbg_collect, dbgfs_dir, 0200);
        FWRT_DEBUGFS_ADD_FILE(fw_dbg_domain, dbgfs_dir, 0400);
        FWRT_DEBUGFS_ADD_FILE(fw_ver, dbgfs_dir, 0400);
 }
index 340f3a026c42afe9a1ebe14fe880a180045e30eb..2472a78ada47167605196f57418077b4531fa3fc 100644 (file)
@@ -1470,22 +1470,6 @@ static ssize_t iwl_dbgfs_fw_dbg_conf_write(struct iwl_mvm *mvm,
        return ret ?: count;
 }
 
-static ssize_t iwl_dbgfs_fw_dbg_collect_write(struct iwl_mvm *mvm,
-                                             char *buf, size_t count,
-                                             loff_t *ppos)
-{
-       if (count == 0)
-               return 0;
-
-       iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_USER_TRIGGER,
-                              NULL);
-
-       iwl_fw_dbg_collect(&mvm->fwrt, FW_DBG_TRIGGER_USER, buf,
-                          (count - 1), NULL);
-
-       return count;
-}
-
 static ssize_t iwl_dbgfs_fw_dbg_clear_write(struct iwl_mvm *mvm,
                                            char *buf, size_t count,
                                            loff_t *ppos)
@@ -1945,7 +1929,6 @@ MVM_DEBUGFS_WRITE_FILE_OPS(fw_restart, 10);
 MVM_DEBUGFS_WRITE_FILE_OPS(fw_nmi, 10);
 MVM_DEBUGFS_READ_WRITE_FILE_OPS(scan_ant_rxchain, 8);
 MVM_DEBUGFS_READ_WRITE_FILE_OPS(fw_dbg_conf, 8);
-MVM_DEBUGFS_WRITE_FILE_OPS(fw_dbg_collect, 64);
 MVM_DEBUGFS_WRITE_FILE_OPS(fw_dbg_clear, 64);
 MVM_DEBUGFS_WRITE_FILE_OPS(dbg_time_point, 64);
 MVM_DEBUGFS_WRITE_FILE_OPS(indirection_tbl,
@@ -2146,7 +2129,6 @@ void iwl_mvm_dbgfs_register(struct iwl_mvm *mvm)
        MVM_DEBUGFS_ADD_FILE(scan_ant_rxchain, mvm->debugfs_dir, 0600);
        MVM_DEBUGFS_ADD_FILE(prph_reg, mvm->debugfs_dir, 0600);
        MVM_DEBUGFS_ADD_FILE(fw_dbg_conf, mvm->debugfs_dir, 0600);
-       MVM_DEBUGFS_ADD_FILE(fw_dbg_collect, mvm->debugfs_dir, 0200);
        MVM_DEBUGFS_ADD_FILE(fw_dbg_clear, mvm->debugfs_dir, 0200);
        MVM_DEBUGFS_ADD_FILE(dbg_time_point, mvm->debugfs_dir, 0200);
        MVM_DEBUGFS_ADD_FILE(send_echo_cmd, mvm->debugfs_dir, 0200);