Commit | Line | Data |
---|---|---|
dd08ebf6 MB |
1 | /* SPDX-License-Identifier: MIT */ |
2 | /* | |
3 | * Copyright © 2022 Intel Corporation | |
4 | */ | |
5 | ||
6 | #ifndef _XE_PREEMPT_FENCE_TYPES_H_ | |
7 | #define _XE_PREEMPT_FENCE_TYPES_H_ | |
8 | ||
9 | #include <linux/dma-fence.h> | |
10 | #include <linux/workqueue.h> | |
11 | ||
9b9529ce | 12 | struct xe_exec_queue; |
dd08ebf6 MB |
13 | |
14 | /** | |
15 | * struct xe_preempt_fence - XE preempt fence | |
16 | * | |
dd08ebf6 MB |
17 | * hardware and triggers a callback once the xe_engine is complete. |
18 | */ | |
19 | struct xe_preempt_fence { | |
20 | /** @base: dma fence base */ | |
21 | struct dma_fence base; | |
22 | /** @link: link into list of pending preempt fences */ | |
23 | struct list_head link; | |
9b9529ce FD |
24 | /** @q: exec queue for this preempt fence */ |
25 | struct xe_exec_queue *q; | |
dd08ebf6 MB |
26 | /** @preempt_work: work struct which issues preemption */ |
27 | struct work_struct preempt_work; | |
28 | /** @error: preempt fence is in error state */ | |
29 | int error; | |
30 | }; | |
31 | ||
32 | #endif |