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 "xe_huc_types.h" 10 11 struct drm_printer; 12 13 enum xe_huc_auth_types { 14 XE_HUC_AUTH_VIA_GUC = 0, 15 XE_HUC_AUTH_VIA_GSC, 16 XE_HUC_AUTH_TYPES_COUNT 17 }; 18 19 int xe_huc_init(struct xe_huc *huc); 20 int xe_huc_init_post_hwconfig(struct xe_huc *huc); 21 int xe_huc_upload(struct xe_huc *huc); 22 int xe_huc_auth(struct xe_huc *huc, enum xe_huc_auth_types type); 23 bool xe_huc_is_authenticated(struct xe_huc *huc, enum xe_huc_auth_types type); 24 void xe_huc_sanitize(struct xe_huc *huc); 25 void xe_huc_print_info(struct xe_huc *huc, struct drm_printer *p); 26 27 #endif 28