1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2021-2021 Intel Corporation
4  */
5 
6 #ifndef _INTEL_GUC_CAPTURE_H
7 #define _INTEL_GUC_CAPTURE_H
8 
9 #include <linux/types.h>
10 
11 struct drm_i915_error_state_buf;
12 struct guc_gt_system_info;
13 struct intel_engine_coredump;
14 struct intel_context;
15 struct intel_gt;
16 struct intel_guc;
17 
18 void intel_guc_capture_free_node(struct intel_engine_coredump *ee);
19 int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *m,
20 					const struct intel_engine_coredump *ee);
21 void intel_guc_capture_get_matching_node(struct intel_gt *gt, struct intel_engine_coredump *ee,
22 					 struct intel_context *ce);
23 void intel_guc_capture_process(struct intel_guc *guc);
24 int intel_guc_capture_output_min_size_est(struct intel_guc *guc);
25 int intel_guc_capture_getlist(struct intel_guc *guc, u32 owner, u32 type, u32 classid,
26 			      void **outptr);
27 int intel_guc_capture_getlistsize(struct intel_guc *guc, u32 owner, u32 type, u32 classid,
28 				  size_t *size);
29 int intel_guc_capture_getnullheader(struct intel_guc *guc, void **outptr, size_t *size);
30 void intel_guc_capture_destroy(struct intel_guc *guc);
31 int intel_guc_capture_init(struct intel_guc *guc);
32 
33 #endif /* _INTEL_GUC_CAPTURE_H */
34