Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.15-rc6 42 lines 1.3 kB view raw
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 13struct xe_gt; 14struct xe_guc; 15struct xe_vm; 16struct xe_vma; 17 18int xe_gt_tlb_invalidation_init_early(struct xe_gt *gt); 19 20void xe_gt_tlb_invalidation_reset(struct xe_gt *gt); 21int xe_gt_tlb_invalidation_ggtt(struct xe_gt *gt); 22int xe_gt_tlb_invalidation_vma(struct xe_gt *gt, 23 struct xe_gt_tlb_invalidation_fence *fence, 24 struct xe_vma *vma); 25void xe_gt_tlb_invalidation_vm(struct xe_gt *gt, struct xe_vm *vm); 26int xe_gt_tlb_invalidation_range(struct xe_gt *gt, 27 struct xe_gt_tlb_invalidation_fence *fence, 28 u64 start, u64 end, u32 asid); 29int xe_guc_tlb_invalidation_done_handler(struct xe_guc *guc, u32 *msg, u32 len); 30 31void xe_gt_tlb_invalidation_fence_init(struct xe_gt *gt, 32 struct xe_gt_tlb_invalidation_fence *fence, 33 bool stack); 34void xe_gt_tlb_invalidation_fence_signal(struct xe_gt_tlb_invalidation_fence *fence); 35 36static inline void 37xe_gt_tlb_invalidation_fence_wait(struct xe_gt_tlb_invalidation_fence *fence) 38{ 39 dma_fence_wait(&fence->base, false); 40} 41 42#endif /* _XE_GT_TLB_INVALIDATION_ */