1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2023 Intel Corporation 4 */ 5 6 #ifndef _XE_GSC_TYPES_H_ 7 #define _XE_GSC_TYPES_H_ 8 9 #include <linux/workqueue.h> 10 11 #include "xe_uc_fw_types.h" 12 13 struct xe_bo; 14 struct xe_exec_queue; 15 16 /** 17 * struct xe_gsc - GSC 18 */ 19 struct xe_gsc { 20 /** @fw: Generic uC firmware management */ 21 struct xe_uc_fw fw; 22 23 /** @security_version: SVN found in the fetched blob */ 24 u32 security_version; 25 26 /** @private: Private data for use by the GSC FW */ 27 struct xe_bo *private; 28 29 /** @q: Default queue used for submissions to GSC FW */ 30 struct xe_exec_queue *q; 31 32 /** @wq: workqueue to handle jobs for delayed load and proxy handling */ 33 struct workqueue_struct *wq; 34 35 /** @work: delayed load and proxy handling work */ 36 struct work_struct work; 37 }; 38 39 #endif 40