summaryrefslogtreecommitdiff
path: root/sys/dev/pci/drm/i915/gt/intel_tlb.h
blob: 337327af92ac43db4c1b21b125d99dd20db8a9e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2023 Intel Corporation
 */

#ifndef INTEL_TLB_H
#define INTEL_TLB_H

#include <linux/seqlock.h>
#include <linux/types.h>

#include "intel_gt_types.h"

void intel_gt_invalidate_tlb_full(struct intel_gt *gt, u32 seqno);

void intel_gt_init_tlb(struct intel_gt *gt);
void intel_gt_fini_tlb(struct intel_gt *gt);

static inline u32 intel_gt_tlb_seqno(const struct intel_gt *gt)
{
	return seqprop_sequence(&gt->tlb.seqno);
}

static inline u32 intel_gt_next_invalidate_tlb_full(const struct intel_gt *gt)
{
	return intel_gt_tlb_seqno(gt) | 1;
}

#endif /* INTEL_TLB_H */