197403Sobrien/* SPDX-License-Identifier: MIT */ 297403Sobrien/* 397403Sobrien * Copyright �� 2023 Intel Corporation 497403Sobrien */ 597403Sobrien 697403Sobrien#ifndef INTEL_TLB_H 797403Sobrien#define INTEL_TLB_H 897403Sobrien 997403Sobrien#include <linux/seqlock.h> 1097403Sobrien#include <linux/types.h> 1197403Sobrien 1297403Sobrien#include "intel_gt_types.h" 1397403Sobrien 1497403Sobrienvoid intel_gt_invalidate_tlb_full(struct intel_gt *gt, u32 seqno); 1597403Sobrien 16169691Skanvoid intel_gt_init_tlb(struct intel_gt *gt); 1797403Sobrienvoid intel_gt_fini_tlb(struct intel_gt *gt); 1897403Sobrien 1997403Sobrienstatic inline u32 intel_gt_tlb_seqno(const struct intel_gt *gt) 2097403Sobrien{ 2197403Sobrien return seqprop_sequence(>->tlb.seqno); 2297403Sobrien} 2397403Sobrien 2497403Sobrienstatic inline u32 intel_gt_next_invalidate_tlb_full(const struct intel_gt *gt) 2597403Sobrien{ 2697403Sobrien return intel_gt_tlb_seqno(gt) | 1; 2797403Sobrien} 28132720Skan 29132720Skan#endif /* INTEL_TLB_H */ 3097403Sobrien