1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2022 Intel Corporation 4 */ 5 6 #ifndef _XE_HUC_H_ 7 #define _XE_HUC_H_ 8 9 #include <linux/types.h> 10 11 struct drm_printer; 12 struct xe_huc; 13 14 enum xe_huc_auth_types { 15 XE_HUC_AUTH_VIA_GUC = 0, 16 XE_HUC_AUTH_VIA_GSC, 17 XE_HUC_AUTH_TYPES_COUNT 18 }; 19 20 int xe_huc_init(struct xe_huc *huc); 21 int xe_huc_init_post_hwconfig(struct xe_huc *huc); 22 int xe_huc_upload(struct xe_huc *huc); 23 int xe_huc_auth(struct xe_huc *huc, enum xe_huc_auth_types type); 24 bool xe_huc_is_authenticated(struct xe_huc *huc, enum xe_huc_auth_types type); 25 void xe_huc_sanitize(struct xe_huc *huc); 26 void xe_huc_print_info(struct xe_huc *huc, struct drm_printer *p); 27 28 #endif 29