]> Git Repo - linux.git/blob - drivers/net/wwan/iosm/iosm_ipc_coredump.h
Merge tag 'char-misc-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
[linux.git] / drivers / net / wwan / iosm / iosm_ipc_coredump.h
1 /* SPDX-License-Identifier: GPL-2.0-only
2  *
3  * Copyright (C) 2020-2021 Intel Corporation.
4  */
5
6 #ifndef _IOSM_IPC_COREDUMP_H_
7 #define _IOSM_IPC_COREDUMP_H_
8
9 #include "iosm_ipc_devlink.h"
10
11 /* Max number of bytes to receive for Coredump list structure */
12 #define MAX_CD_LIST_SIZE  0x1000
13
14 /* Max buffer allocated to receive coredump data */
15 #define MAX_DATA_SIZE 0x00010000
16
17 /* Max number of file entries */
18 #define MAX_NOF_ENTRY 256
19
20 /* Max length */
21 #define MAX_SIZE_LEN 32
22
23 /**
24  * struct iosm_cd_list_entry - Structure to hold coredump file info.
25  * @size:       Number of bytes for the entry
26  * @filename:   Coredump filename to be generated on host
27  */
28 struct iosm_cd_list_entry {
29         __le32 size;
30         char filename[IOSM_MAX_FILENAME_LEN];
31 } __packed;
32
33 /**
34  * struct iosm_cd_list - Structure to hold list of coredump files
35  *                      to be collected.
36  * @num_entries:        Number of entries to be received
37  * @entry:              Contains File info
38  */
39 struct iosm_cd_list {
40         __le32 num_entries;
41         struct iosm_cd_list_entry entry[MAX_NOF_ENTRY];
42 } __packed;
43
44 /**
45  * struct iosm_cd_table - Common Coredump table
46  * @version:            Version of coredump structure
47  * @list:               Coredump list structure
48  */
49 struct iosm_cd_table {
50         __le32 version;
51         struct iosm_cd_list list;
52 } __packed;
53
54 int ipc_coredump_collect(struct iosm_devlink *devlink, u8 **data, int entry,
55                          u32 region_size);
56
57 int ipc_coredump_get_list(struct iosm_devlink *devlink, u16 cmd);
58
59 #endif /* _IOSM_IPC_COREDUMP_H_ */
This page took 0.040864 seconds and 4 git commands to generate.