xref: /linux/drivers/gpu/drm/xe/xe_gsc_types.h (revision eeb9f5c2dcec90009d7cf12e780e7f9631993fc5)
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