1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2023 Intel Corporation 4 */ 5 6 #ifndef _XE_GT_TLB_INVALIDATION_H_ 7 #define _XE_GT_TLB_INVALIDATION_H_ 8 9 #include <linux/types.h> 10 11 #include "xe_gt_tlb_invalidation_types.h" 12 13 struct xe_gt; 14 struct xe_guc; 15 struct xe_vma; 16 17 int xe_gt_tlb_invalidation_init(struct xe_gt *gt); 18 void xe_gt_tlb_invalidation_reset(struct xe_gt *gt); 19 int xe_gt_tlb_invalidation_guc(struct xe_gt *gt); 20 int xe_gt_tlb_invalidation_vma(struct xe_gt *gt, 21 struct xe_gt_tlb_invalidation_fence *fence, 22 struct xe_vma *vma); 23 int xe_gt_tlb_invalidation_wait(struct xe_gt *gt, int seqno); 24 int xe_guc_tlb_invalidation_done_handler(struct xe_guc *guc, u32 *msg, u32 len); 25 26 #endif /* _XE_GT_TLB_INVALIDATION_ */ 27