File Index
Files and directories
Sign in
FILE

coredump.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/ath/ath11k/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 _ATH11K_COREDUMP_H_
 7#define _ATH11K_COREDUMP_H_
 8
 9#define ATH11K_FW_CRASH_DUMP_V2      2
10
11enum ath11k_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
19	/* keep last */
20	FW_CRASH_DUMP_TYPE_MAX,
21};
22
23#define COREDUMP_TLV_HDR_SIZE 8
24
25struct ath11k_tlv_dump_data {
26	/* see ath11k_fw_crash_dump_type above */
27	__le32 type;
28
29	/* in bytes */
30	__le32 tlv_len;
31
32	/* pad to 32-bit boundaries as needed */
33	u8 tlv_data[];
34} __packed;
35
36struct ath11k_dump_file_data {
37	/* "ATH11K-FW-DUMP" */
38	char df_magic[16];
39	/* total dump len in bytes */
40	__le32 len;
41	/* file dump version */
42	__le32 version;
43	/* pci device id */
44	__le32 chip_id;
45	/* qrtr instance id */
46	__le32 qrtr_id;
47	/* pci domain id */
48	__le32 bus_id;
49	guid_t guid;
50	/* time-of-day stamp */
51	__le64 tv_sec;
52	/* time-of-day stamp, nano-seconds */
53	__le64 tv_nsec;
54	/* room for growth w/out changing binary format */
55	u8 unused[128];
56	u8 data[];
57} __packed;
58
59#ifdef CONFIG_DEV_COREDUMP
60enum ath11k_fw_crash_dump_type ath11k_coredump_get_dump_type(int type);
61void ath11k_coredump_upload(struct work_struct *work);
62void ath11k_coredump_collect(struct ath11k_base *ab);
63#else
64static inline enum
65ath11k_fw_crash_dump_type ath11k_coredump_get_dump_type(int type)
66{
67	return FW_CRASH_DUMP_TYPE_MAX;
68}
69
70static inline void ath11k_coredump_upload(struct work_struct *work)
71{
72}
73
74static inline void ath11k_coredump_collect(struct ath11k_base *ab)
75{
76}
77#endif
78
79#endif
~/ Read-only file preview.