| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| /* |
| * Copyright (c) 2023 MediaTek Inc. All Rights Reserved. |
| * |
| * Author: Alvin Kuo <Alvin.Kuo@mediatek.com> |
| */ |
| |
| #ifndef __DUMP_H__ |
| #define __DUMP_H__ |
| |
| #include <sys/types.h> |
| |
| #define DUMP_INFO_NAME_MAX_LEN 32 |
| #define RELAY_DUMP_SUBBUF_SIZE 2048 |
| #define DUMP_DATA_PATH "/sys/kernel/debug/tops/dump_data" |
| |
| #define DUMP_LOG_FMT(FMT) "[TOPS_TOOL] [%s]: " FMT, __func__ |
| |
| struct dump_info { |
| char name[DUMP_INFO_NAME_MAX_LEN]; |
| uint64_t dump_time_sec; |
| uint32_t start_addr; |
| uint32_t size; |
| uint32_t dump_rsn; |
| #define DUMP_RSN_NULL (0x0000) |
| #define DUMP_RSN_WDT_TIMEOUT_CORE0 (0x0001) |
| #define DUMP_RSN_WDT_TIMEOUT_CORE1 (0x0002) |
| #define DUMP_RSN_WDT_TIMEOUT_CORE2 (0x0004) |
| #define DUMP_RSN_WDT_TIMEOUT_CORE3 (0x0008) |
| #define DUMP_RSN_WDT_TIMEOUT_COREM (0x0010) |
| #define DUMP_RSN_FE_RESET (0x0020) |
| }; |
| |
| struct dump_data_header { |
| struct dump_info info; |
| uint32_t data_offset; |
| uint32_t data_len; |
| uint8_t last_frag; |
| }; |
| |
| int tops_save_dump_data(char *dump_dir); |
| |
| #endif /* __DUMP_H__ */ |