drm/xe: Add infrastructure for delayed LRC capture
[linux-2.6-block.git] / drivers / gpu / drm / xe / xe_guc_submit.h
CommitLineData
dd08ebf6
MB
1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2022 Intel Corporation
4 */
5
6#ifndef _XE_GUC_SUBMIT_H_
7#define _XE_GUC_SUBMIT_H_
8
9#include <linux/types.h>
10
11struct drm_printer;
dd08ebf6 12struct xe_guc;
98fefec8 13struct xe_sched_job;
dd08ebf6
MB
14
15int xe_guc_submit_init(struct xe_guc *guc);
dd08ebf6
MB
16
17int xe_guc_submit_reset_prepare(struct xe_guc *guc);
18void xe_guc_submit_reset_wait(struct xe_guc *guc);
19int xe_guc_submit_stop(struct xe_guc *guc);
20int xe_guc_submit_start(struct xe_guc *guc);
21
22int xe_guc_sched_done_handler(struct xe_guc *guc, u32 *msg, u32 len);
23int xe_guc_deregister_done_handler(struct xe_guc *guc, u32 *msg, u32 len);
9b9529ce
FD
24int xe_guc_exec_queue_reset_handler(struct xe_guc *guc, u32 *msg, u32 len);
25int xe_guc_exec_queue_memory_cat_error_handler(struct xe_guc *guc, u32 *msg,
26 u32 len);
27int xe_guc_exec_queue_reset_failure_handler(struct xe_guc *guc, u32 *msg, u32 len);
dd08ebf6 28
9b9529ce 29struct xe_guc_submit_exec_queue_snapshot *
98fefec8 30xe_guc_exec_queue_snapshot_capture(struct xe_sched_job *job);
bbdf97c1 31void
784b3410
ML
32xe_guc_exec_queue_snapshot_capture_delayed(struct xe_guc_submit_exec_queue_snapshot *snapshot);
33void
9b9529ce
FD
34xe_guc_exec_queue_snapshot_print(struct xe_guc_submit_exec_queue_snapshot *snapshot,
35 struct drm_printer *p);
bbdf97c1 36void
9b9529ce 37xe_guc_exec_queue_snapshot_free(struct xe_guc_submit_exec_queue_snapshot *snapshot);
bbdf97c1
RV
38void xe_guc_submit_print(struct xe_guc *guc, struct drm_printer *p);
39
dd08ebf6 40#endif