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_engine_cs;
15 struct intel_context;
16 struct intel_gt;
17 struct intel_guc;
18 
19 void intel_guc_capture_free_node(struct intel_engine_coredump *ee);
20 int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *m,
21 					const struct intel_engine_coredump *ee);
22 void intel_guc_capture_get_matching_node(struct intel_gt *gt, struct intel_engine_coredump *ee,
23 					 struct intel_context *ce);
24 bool intel_guc_capture_is_matching_engine(struct intel_gt *gt, struct intel_context *ce,
25 					  struct intel_engine_cs *engine);
26 void intel_guc_capture_process(struct intel_guc *guc);
27 int intel_guc_capture_getlist(struct intel_guc *guc, u32 owner, u32 type, u32 classid,
28 			      void **outptr);
29 int intel_guc_capture_getlistsize(struct intel_guc *guc, u32 owner, u32 type, u32 classid,
30 				  size_t *size);
31 int intel_guc_capture_getnullheader(struct intel_guc *guc, void **outptr, size_t *size);
32 void intel_guc_capture_destroy(struct intel_guc *guc);
33 int intel_guc_capture_init(struct intel_guc *guc);
34 
35 #endif /* _INTEL_GUC_CAPTURE_H */
36