mirror of https://gitee.com/openkylin/linux.git
iwlwifi: wrt: add rt status and num of rx/tx fifos to dump
Add the rt status of the last assert or 0 if the dump collection was not initiated by an assert. Add the number of rx and tx fifos in use. These fields are added to dump info lst file. Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
35739348ba
commit
a06875a7f8
|
@ -828,6 +828,7 @@ _iwl_fw_error_dump(struct iwl_fw_runtime *fwrt,
|
|||
sizeof(dump_info->dev_human_readable) - 1);
|
||||
strncpy(dump_info->bus_human_readable, fwrt->dev->bus->name,
|
||||
sizeof(dump_info->bus_human_readable) - 1);
|
||||
dump_info->rt_status = cpu_to_le32(fwrt->dump.rt_status);
|
||||
|
||||
dump_data = iwl_fw_error_next_data(dump_data);
|
||||
}
|
||||
|
|
|
@ -102,6 +102,7 @@ static inline void iwl_fw_free_dump_desc(struct iwl_fw_runtime *fwrt)
|
|||
if (fwrt->dump.desc != &iwl_dump_desc_assert)
|
||||
kfree(fwrt->dump.desc);
|
||||
fwrt->dump.desc = NULL;
|
||||
fwrt->dump.rt_status = 0;
|
||||
}
|
||||
|
||||
void iwl_fw_error_dump(struct iwl_fw_runtime *fwrt);
|
||||
|
|
|
@ -187,6 +187,8 @@ enum iwl_fw_error_dump_family {
|
|||
* @fw_human_readable: human readable FW version
|
||||
* @dev_human_readable: name of the device
|
||||
* @bus_human_readable: name of the bus used
|
||||
* @rt_status: the error_id/rt_status that that triggered the latest dump
|
||||
* if the dump collection was not initiated by an assert, the value is 0
|
||||
*/
|
||||
struct iwl_fw_error_dump_info {
|
||||
__le32 device_family;
|
||||
|
@ -194,6 +196,7 @@ struct iwl_fw_error_dump_info {
|
|||
u8 fw_human_readable[FW_VER_HUMAN_READABLE_SZ];
|
||||
u8 dev_human_readable[64];
|
||||
u8 bus_human_readable[8];
|
||||
__le32 rt_status;
|
||||
} __packed;
|
||||
|
||||
/**
|
||||
|
|
|
@ -142,6 +142,7 @@ struct iwl_fw_runtime {
|
|||
u32 *d3_debug_data;
|
||||
struct iwl_fw_ini_active_regs active_regs[IWL_FW_INI_MAX_REGION_ID];
|
||||
struct iwl_fw_ini_active_triggers active_trigs[IWL_FW_TRIGGER_ID_NUM];
|
||||
u32 rt_status;
|
||||
} dump;
|
||||
#ifdef CONFIG_IWLWIFI_DEBUGFS
|
||||
struct {
|
||||
|
|
|
@ -540,6 +540,9 @@ static void iwl_mvm_dump_lmac_error_log(struct iwl_mvm *mvm, u32 base)
|
|||
|
||||
iwl_trans_read_mem_bytes(trans, base, &table, sizeof(table));
|
||||
|
||||
if (table.valid)
|
||||
mvm->fwrt.dump.rt_status = table.error_id;
|
||||
|
||||
if (ERROR_START_OFFSET <= table.valid * ERROR_ELEM_SIZE) {
|
||||
IWL_ERR(trans, "Start IWL Error Log Dump:\n");
|
||||
IWL_ERR(trans, "Status: 0x%08lX, count: %d\n",
|
||||
|
|
Loading…
Reference in New Issue