1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright (C) 2018 Chelsio Communications. All rights reserved. |
4 | */ |
5 | |
6 | #ifndef __CUDBG_ZLIB_H__ |
7 | #define __CUDBG_ZLIB_H__ |
8 | |
9 | #include <linux/zlib.h> |
10 | |
11 | #define CUDBG_ZLIB_COMPRESS_ID 17 |
12 | #define CUDBG_ZLIB_WIN_BITS 12 |
13 | #define CUDBG_ZLIB_MEM_LVL 4 |
14 | |
15 | struct cudbg_compress_hdr { |
16 | u32 compress_id; |
17 | u64 decompress_size; |
18 | u64 compress_size; |
19 | u64 rsvd[32]; |
20 | }; |
21 | |
22 | static inline int cudbg_get_workspace_size(void) |
23 | { |
24 | return zlib_deflate_workspacesize(CUDBG_ZLIB_WIN_BITS, |
25 | CUDBG_ZLIB_MEM_LVL); |
26 | } |
27 | |
28 | int cudbg_compress_buff(struct cudbg_init *pdbg_init, |
29 | struct cudbg_buffer *pin_buff, |
30 | struct cudbg_buffer *pout_buff); |
31 | #endif /* __CUDBG_ZLIB_H__ */ |
32 | |