1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2023 Intel Corporation 4 */ 5 6 #ifndef INTEL_TLB_H 7 #define INTEL_TLB_H 8 9 #include <linux/seqlock.h> 10 #include <linux/types.h> 11 12 #include "intel_gt_types.h" 13 14 void intel_gt_invalidate_tlb_full(struct intel_gt *gt, u32 seqno); 15 16 void intel_gt_init_tlb(struct intel_gt *gt); 17 void intel_gt_fini_tlb(struct intel_gt *gt); 18 intel_gt_tlb_seqno(const struct intel_gt * gt)19static inline u32 intel_gt_tlb_seqno(const struct intel_gt *gt) 20 { 21 return seqprop_sequence(>->tlb.seqno); 22 } 23 intel_gt_next_invalidate_tlb_full(const struct intel_gt * gt)24static inline u32 intel_gt_next_invalidate_tlb_full(const struct intel_gt *gt) 25 { 26 return intel_gt_tlb_seqno(gt) | 1; 27 } 28 29 #endif /* INTEL_TLB_H */ 30