1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright (C) 2020-2023 Intel Corporation |
4 | */ |
5 | |
6 | #ifndef __IVPU_FW_LOG_H__ |
7 | #define __IVPU_FW_LOG_H__ |
8 | |
9 | #include <linux/types.h> |
10 | |
11 | #include <drm/drm_print.h> |
12 | |
13 | #include "ivpu_drv.h" |
14 | |
15 | #define IVPU_FW_LOG_DEFAULT 0 |
16 | #define IVPU_FW_LOG_DEBUG 1 |
17 | #define IVPU_FW_LOG_INFO 2 |
18 | #define IVPU_FW_LOG_WARN 3 |
19 | #define IVPU_FW_LOG_ERROR 4 |
20 | #define IVPU_FW_LOG_FATAL 5 |
21 | |
22 | extern unsigned int ivpu_log_level; |
23 | |
24 | #define IVPU_FW_VERBOSE_BUFFER_SMALL_SIZE SZ_1M |
25 | #define IVPU_FW_VERBOSE_BUFFER_LARGE_SIZE SZ_8M |
26 | #define IVPU_FW_CRITICAL_BUFFER_SIZE SZ_512K |
27 | |
28 | void ivpu_fw_log_print(struct ivpu_device *vdev, bool only_new_msgs, struct drm_printer *p); |
29 | void ivpu_fw_log_clear(struct ivpu_device *vdev); |
30 | |
31 | static inline void ivpu_fw_log_dump(struct ivpu_device *vdev) |
32 | { |
33 | struct drm_printer p = drm_info_printer(dev: vdev->drm.dev); |
34 | |
35 | ivpu_fw_log_print(vdev, only_new_msgs: false, p: &p); |
36 | } |
37 | |
38 | #endif /* __IVPU_FW_LOG_H__ */ |
39 | |