linux/drivers/net/wireless/intel/iwlwifi/fw/dump.c

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/*
 * Copyright (C) 2012-2014, 2018-2023 Intel Corporation
 * Copyright (C) 2013-2014 Intel Mobile Communications GmbH
 * Copyright (C) 2015-2017 Intel Deutschland GmbH
 */
#include <linux/devcoredump.h>
#include "iwl-drv.h"
#include "runtime.h"
#include "dbg.h"
#include "debugfs.h"
#include "iwl-io.h"
#include "iwl-prph.h"
#include "iwl-csr.h"
#include "pnvm.h"

#define FW_ASSERT_LMAC_FATAL
#define FW_ASSERT_LMAC2_FATAL
#define FW_ASSERT_UMAC_FATAL
#define UMAC_RT_NMI_LMAC2_FATAL
#define RT_NMI_INTERRUPT_OTHER_LMAC_FATAL
#define FW_ASSERT_NMI_UNKNOWN

/*
 * Note: This structure is read from the device with IO accesses,
 * and the reading already does the endian conversion. As it is
 * read with u32-sized accesses, any members with a different size
 * need to be ordered correctly though!
 */
struct iwl_error_event_table {} __packed /* LOG_ERROR_TABLE_API_S_VER_3 */;

/*
 * UMAC error struct - relevant starting from family 8000 chip.
 * Note: This structure is read from the device with IO accesses,
 * and the reading already does the endian conversion. As it is
 * read with u32-sized accesses, any members with a different size
 * need to be ordered correctly though!
 */
struct iwl_umac_error_event_table {} __packed;

#define ERROR_START_OFFSET
#define ERROR_ELEM_SIZE

static bool iwl_fwrt_if_errorid_other_cpu(u32 err_id)
{}

static void iwl_fwrt_dump_umac_error_log(struct iwl_fw_runtime *fwrt)
{}

static void iwl_fwrt_dump_lmac_error_log(struct iwl_fw_runtime *fwrt, u8 lmac_num)
{}

/*
 * TCM error struct.
 * Note: This structure is read from the device with IO accesses,
 * and the reading already does the endian conversion. As it is
 * read with u32-sized accesses, any members with a different size
 * need to be ordered correctly though!
 */
struct iwl_tcm_error_event_table {} __packed; /* TCM_LOG_ERROR_TABLE_API_S_VER_1 */

static void iwl_fwrt_dump_tcm_error_log(struct iwl_fw_runtime *fwrt, int idx)
{}

/*
 * RCM error struct.
 * Note: This structure is read from the device with IO accesses,
 * and the reading already does the endian conversion. As it is
 * read with u32-sized accesses, any members with a different size
 * need to be ordered correctly though!
 */
struct iwl_rcm_error_event_table {} __packed; /* RCM_LOG_ERROR_TABLE_API_S_VER_1 */

static void iwl_fwrt_dump_rcm_error_log(struct iwl_fw_runtime *fwrt, int idx)
{}

static void iwl_fwrt_dump_iml_error_log(struct iwl_fw_runtime *fwrt)
{}

#define FSEQ_REG(x)

static void iwl_fwrt_dump_fseq_regs(struct iwl_fw_runtime *fwrt)
{}

void iwl_fwrt_dump_error_logs(struct iwl_fw_runtime *fwrt)
{}
IWL_EXPORT_SYMBOL(iwl_fwrt_dump_error_logs);