xref: /linux/drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h (revision 37b20e9a5810e132a21c54f858043b22671396dd)
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2023 Intel Corporation
4  */
5 
6 #ifndef _XE_GT_TLB_INVALIDATION_TYPES_H_
7 #define _XE_GT_TLB_INVALIDATION_TYPES_H_
8 
9 #include <linux/dma-fence.h>
10 
11 struct xe_gt;
12 
13 /**
14  * struct xe_gt_tlb_invalidation_fence - XE GT TLB invalidation fence
15  *
16  * Optionally passed to xe_gt_tlb_invalidation and will be signaled upon TLB
17  * invalidation completion.
18  */
19 struct xe_gt_tlb_invalidation_fence {
20 	/** @base: dma fence base */
21 	struct dma_fence base;
22 	/** @gt: GT which fence belong to */
23 	struct xe_gt *gt;
24 	/** @link: link into list of pending tlb fences */
25 	struct list_head link;
26 	/** @seqno: seqno of TLB invalidation to signal fence one */
27 	int seqno;
28 	/** @invalidation_time: time of TLB invalidation */
29 	ktime_t invalidation_time;
30 };
31 
32 #endif
33