File Index
Files and directories
Sign in
FILE

coredump.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/ath/ath12k/coredump.h C
 1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
 2/*
 3 * Copyright (c) 2020 The Linux Foundation. All rights reserved.
 4 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
 5 */
 6#ifndef _ATH12K_COREDUMP_H_
 7#define _ATH12K_COREDUMP_H_
 8
 9#define ATH12K_FW_CRASH_DUMP_V2      2
10
11enum ath12k_fw_crash_dump_type {
12	FW_CRASH_DUMP_PAGING_DATA,
13	FW_CRASH_DUMP_RDDM_DATA,
14	FW_CRASH_DUMP_REMOTE_MEM_DATA,
15	FW_CRASH_DUMP_PAGEABLE_DATA,
16	FW_CRASH_DUMP_M3_DUMP,
17	FW_CRASH_DUMP_NONE,
18	FW_CRASH_DUMP_MLO_GLOBAL_DATA,
19
20	/* keep last */
21	FW_CRASH_DUMP_TYPE_MAX,
22};
23
24#define COREDUMP_TLV_HDR_SIZE 8
25
26struct ath12k_tlv_dump_data {
27	/* see ath11k_fw_crash_dump_type above */
28	__le32 type;
29
30	/* in bytes */
31	__le32 tlv_len;
32
33	/* pad to 32-bit boundaries as needed */
34	u8 tlv_data[];
35} __packed;
36
37struct ath12k_dump_file_data {
38	/* "ATH12K-FW-DUMP" */
39	char df_magic[16];
40	/* total dump len in bytes */
41	__le32 len;
42	/* file dump version */
43	__le32 version;
44	/* pci device id */
45	__le32 chip_id;
46	/* qrtr instance id */
47	__le32 qrtr_id;
48	/* pci domain id */
49	__le32 bus_id;
50	guid_t guid;
51	/* time-of-day stamp */
52	__le64 tv_sec;
53	/* time-of-day stamp, nano-seconds */
54	__le64 tv_nsec;
55	/* room for growth w/out changing binary format */
56	u8 unused[128];
57	u8 data[];
58} __packed;
59
60#ifdef CONFIG_ATH12K_COREDUMP
61enum ath12k_fw_crash_dump_type ath12k_coredump_get_dump_type
62						(enum ath12k_qmi_target_mem type);
63void ath12k_coredump_upload(struct work_struct *work);
64void ath12k_coredump_collect(struct ath12k_base *ab);
65#else
66static inline enum ath12k_fw_crash_dump_type ath12k_coredump_get_dump_type
67							(enum ath12k_qmi_target_mem type)
68{
69	return FW_CRASH_DUMP_TYPE_MAX;
70}
71
72static inline void ath12k_coredump_upload(struct work_struct *work)
73{
74}
75
76static inline void ath12k_coredump_collect(struct ath12k_base *ab)
77{
78}
79#endif
80
81#endif
~/ Read-only file preview.