brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 9fac777 Raw
78 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 *  Copyright (C) 2017 Chelsio Communications.  All rights reserved.4 */5 6#ifndef __CUDBG_LIB_COMMON_H__7#define __CUDBG_LIB_COMMON_H__8 9#define CUDBG_SIGNATURE 67856866 /* CUDB in ascii */10 11enum cudbg_dump_type {12	CUDBG_DUMP_TYPE_MINI = 1,13};14 15enum cudbg_compression_type {16	CUDBG_COMPRESSION_NONE = 1,17	CUDBG_COMPRESSION_ZLIB,18};19 20struct cudbg_hdr {21	u32 signature;22	u32 hdr_len;23	u16 major_ver;24	u16 minor_ver;25	u32 data_len;26	u32 hdr_flags;27	u16 max_entities;28	u8 chip_ver;29	u8 dump_type:3;30	u8 reserved1:1;31	u8 compress_type:4;32	u32 reserved[8];33};34 35struct cudbg_entity_hdr {36	u32 entity_type;37	u32 start_offset;38	u32 size;39	int hdr_flags;40	u32 sys_warn;41	u32 sys_err;42	u8 num_pad;43	u8 flag;             /* bit 0 is used to indicate ext data */44	u8 reserved1[2];45	u32 next_ext_offset; /* pointer to next extended entity meta data */46	u32 reserved[5];47};48 49struct cudbg_ver_hdr {50	u32 signature;51	u16 revision;52	u16 size;53};54 55struct cudbg_buffer {56	u32 size;57	u32 offset;58	char *data;59};60 61struct cudbg_error {62	int sys_err;63	int sys_warn;64	int app_err;65};66 67#define CDUMP_MAX_COMP_BUF_SIZE ((64 * 1024) - 1)68#define CUDBG_CHUNK_SIZE ((CDUMP_MAX_COMP_BUF_SIZE / 1024) * 1024)69 70int cudbg_get_buff(struct cudbg_init *pdbg_init,71		   struct cudbg_buffer *pdbg_buff, u32 size,72		   struct cudbg_buffer *pin_buff);73void cudbg_put_buff(struct cudbg_init *pdbg_init,74		    struct cudbg_buffer *pin_buff);75void cudbg_update_buff(struct cudbg_buffer *pin_buff,76		       struct cudbg_buffer *pout_buff);77#endif /* __CUDBG_LIB_COMMON_H__ */78