1 /* SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2020-2021 Intel Corporation.
6 #ifndef _IOSM_IPC_COREDUMP_H_
7 #define _IOSM_IPC_COREDUMP_H_
9 #include "iosm_ipc_devlink.h"
11 /* Max number of bytes to receive for Coredump list structure */
12 #define MAX_CD_LIST_SIZE 0x1000
14 /* Max buffer allocated to receive coredump data */
15 #define MAX_DATA_SIZE 0x00010000
17 /* Max number of file entries */
18 #define MAX_NOF_ENTRY 256
21 #define MAX_SIZE_LEN 32
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
28 struct iosm_cd_list_entry {
30 char filename[IOSM_MAX_FILENAME_LEN];
34 * struct iosm_cd_list - Structure to hold list of coredump files
36 * @num_entries: Number of entries to be received
37 * @entry: Contains File info
41 struct iosm_cd_list_entry entry[MAX_NOF_ENTRY];
45 * struct iosm_cd_table - Common Coredump table
46 * @version: Version of coredump structure
47 * @list: Coredump list structure
49 struct iosm_cd_table {
51 struct iosm_cd_list list;
54 int ipc_coredump_collect(struct iosm_devlink *devlink, u8 **data, int entry,
57 int ipc_coredump_get_list(struct iosm_devlink *devlink, u16 cmd);
59 #endif /* _IOSM_IPC_COREDUMP_H_ */