File Index
Files and directories
Sign in
FILE

xe_tlb_inval.h

File preview with syntax highlighting.

linux-6.19.14/drivers/gpu/drm/xe/xe_tlb_inval.h C
 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 interruptible
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_ */
~/ Read-only file preview.