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