Commit | Line | Data |
---|---|---|
9952f691 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
6236451d TB |
2 | /* |
3 | * Tegra host1x Debug | |
4 | * | |
5 | * Copyright (c) 2011-2013 NVIDIA Corporation. | |
6236451d TB |
6 | */ |
7 | #ifndef __HOST1X_DEBUG_H | |
8 | #define __HOST1X_DEBUG_H | |
9 | ||
10 | #include <linux/debugfs.h> | |
11 | #include <linux/seq_file.h> | |
12 | ||
13 | struct host1x; | |
14 | ||
15 | struct output { | |
eb2ee1a2 | 16 | void (*fn)(void *ctx, const char *str, size_t len, bool cont); |
6236451d TB |
17 | void *ctx; |
18 | char buf[256]; | |
19 | }; | |
20 | ||
eb2ee1a2 MP |
21 | static inline void write_to_seqfile(void *ctx, const char *str, size_t len, |
22 | bool cont) | |
6236451d TB |
23 | { |
24 | seq_write((struct seq_file *)ctx, str, len); | |
25 | } | |
26 | ||
eb2ee1a2 MP |
27 | static inline void write_to_printk(void *ctx, const char *str, size_t len, |
28 | bool cont) | |
6236451d | 29 | { |
eb2ee1a2 MP |
30 | if (cont) |
31 | pr_cont("%s", str); | |
32 | else | |
33 | pr_info("%s", str); | |
6236451d TB |
34 | } |
35 | ||
36 | void __printf(2, 3) host1x_debug_output(struct output *o, const char *fmt, ...); | |
eb2ee1a2 | 37 | void __printf(2, 3) host1x_debug_cont(struct output *o, const char *fmt, ...); |
6236451d TB |
38 | |
39 | extern unsigned int host1x_debug_trace_cmdbuf; | |
40 | ||
41 | void host1x_debug_init(struct host1x *host1x); | |
42 | void host1x_debug_deinit(struct host1x *host1x); | |
43 | void host1x_debug_dump(struct host1x *host1x); | |
44 | void host1x_debug_dump_syncpts(struct host1x *host1x); | |
45 | ||
46 | #endif |