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.18 46 lines 1.2 kB view raw
1/* SPDX-License-Identifier: MIT */ 2/* 3 * Copyright © 2025 Intel Corporation 4 */ 5 6#ifndef _XE_TLB_INVAL_H_ 7#define _XE_TLB_INVAL_H_ 8 9#include <linux/types.h> 10 11#include "xe_tlb_inval_types.h" 12 13struct xe_gt; 14struct xe_guc; 15struct xe_vm; 16 17int xe_gt_tlb_inval_init_early(struct xe_gt *gt); 18 19void xe_tlb_inval_reset(struct xe_tlb_inval *tlb_inval); 20int xe_tlb_inval_all(struct xe_tlb_inval *tlb_inval, 21 struct xe_tlb_inval_fence *fence); 22int xe_tlb_inval_ggtt(struct xe_tlb_inval *tlb_inval); 23void xe_tlb_inval_vm(struct xe_tlb_inval *tlb_inval, struct xe_vm *vm); 24int xe_tlb_inval_range(struct xe_tlb_inval *tlb_inval, 25 struct xe_tlb_inval_fence *fence, 26 u64 start, u64 end, u32 asid); 27 28void xe_tlb_inval_fence_init(struct xe_tlb_inval *tlb_inval, 29 struct xe_tlb_inval_fence *fence, 30 bool stack); 31 32/** 33 * xe_tlb_inval_fence_wait() - TLB invalidiation fence wait 34 * @fence: TLB invalidation fence to wait on 35 * 36 * Wait on a TLB invalidiation fence until it signals, non interruptable 37 */ 38static inline void 39xe_tlb_inval_fence_wait(struct xe_tlb_inval_fence *fence) 40{ 41 dma_fence_wait(&fence->base, false); 42} 43 44void xe_tlb_inval_done_handler(struct xe_tlb_inval *tlb_inval, int seqno); 45 46#endif /* _XE_TLB_INVAL_ */