xref: /linux/drivers/gpu/drm/xe/xe_uc.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1dd08ebf6SMatthew Brost /* SPDX-License-Identifier: MIT */
2dd08ebf6SMatthew Brost /*
3dd08ebf6SMatthew Brost  * Copyright © 2022 Intel Corporation
4dd08ebf6SMatthew Brost  */
5dd08ebf6SMatthew Brost 
6dd08ebf6SMatthew Brost #ifndef _XE_UC_H_
7dd08ebf6SMatthew Brost #define _XE_UC_H_
8dd08ebf6SMatthew Brost 
9bdc9abedSMichal Wajdeczko struct xe_uc;
10dd08ebf6SMatthew Brost 
11dd08ebf6SMatthew Brost int xe_uc_init(struct xe_uc *uc);
12dd08ebf6SMatthew Brost int xe_uc_init_hwconfig(struct xe_uc *uc);
13dd08ebf6SMatthew Brost int xe_uc_init_post_hwconfig(struct xe_uc *uc);
14dd08ebf6SMatthew Brost int xe_uc_init_hw(struct xe_uc *uc);
151da0702cSMatthew Auld int xe_uc_fini_hw(struct xe_uc *uc);
161737785aSRiana Tauro void xe_uc_gucrc_disable(struct xe_uc *uc);
17dd08ebf6SMatthew Brost int xe_uc_reset_prepare(struct xe_uc *uc);
18dd08ebf6SMatthew Brost void xe_uc_stop_prepare(struct xe_uc *uc);
19c832541cSHimal Prasad Ghimiray void xe_uc_stop(struct xe_uc *uc);
20dd08ebf6SMatthew Brost int xe_uc_start(struct xe_uc *uc);
21dd08ebf6SMatthew Brost int xe_uc_suspend(struct xe_uc *uc);
227704f32cSMichał Winiarski int xe_uc_sanitize_reset(struct xe_uc *uc);
23997a55caSDaniele Ceraolo Spurio void xe_uc_remove(struct xe_uc *uc);
24*c9474b72SMatthew Brost void xe_uc_declare_wedged(struct xe_uc *uc);
25dd08ebf6SMatthew Brost 
26dd08ebf6SMatthew Brost #endif
27