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
18 #define MAX_SIZE_LEN 32
21 * struct iosm_cd_list_entry - Structure to hold coredump file info.
22 * @size: Number of bytes for the entry
23 * @filename: Coredump filename to be generated on host
25 struct iosm_cd_list_entry {
27 char filename[IOSM_MAX_FILENAME_LEN];
31 * struct iosm_cd_list - Structure to hold list of coredump files
33 * @num_entries: Number of entries to be received
34 * @entry: Contains File info
38 struct iosm_cd_list_entry entry[];
42 * struct iosm_cd_table - Common Coredump table
43 * @version: Version of coredump structure
44 * @list: Coredump list structure
46 struct iosm_cd_table {
48 struct iosm_cd_list list;
51 int ipc_coredump_collect(struct iosm_devlink *devlink, u8 **data, int entry,
54 int ipc_coredump_get_list(struct iosm_devlink *devlink, u16 cmd);
56 #endif /* _IOSM_IPC_COREDUMP_H_ */