Lines Matching +full:d +full:- +full:tlb +full:- +full:size

1 // SPDX-License-Identifier: GPL-2.0
11 * Flush entire TLB if number of entries to be flushed is greater
17 unsigned long size, in local_flush_tlb_range_threshold_asid() argument
21 unsigned long nr_ptes_in_range = DIV_ROUND_UP(size, stride); in local_flush_tlb_range_threshold_asid()
36 unsigned long size, unsigned long stride, unsigned long asid) in local_flush_tlb_range_asid() argument
38 if (size <= stride) in local_flush_tlb_range_asid()
40 else if (size == FLUSH_TLB_MAX_SIZE) in local_flush_tlb_range_asid()
43 local_flush_tlb_range_threshold_asid(start, size, stride, asid); in local_flush_tlb_range_asid()
49 local_flush_tlb_range_asid(start, end - start, PAGE_SIZE, FLUSH_TLB_NO_ASID); in local_flush_tlb_kernel_range()
70 unsigned long size; member
76 struct flush_tlb_range_data *d = info; in __ipi_flush_tlb_range_asid() local
78 local_flush_tlb_range_asid(d->start, d->size, d->stride, d->asid); in __ipi_flush_tlb_range_asid()
82 unsigned long start, unsigned long size, in __flush_tlb_range() argument
92 /* Check if the TLB flush needs to be sent to other CPUs. */ in __flush_tlb_range()
94 local_flush_tlb_range_asid(start, size, stride, asid); in __flush_tlb_range()
96 sbi_remote_sfence_vma_asid(cmask, start, size, asid); in __flush_tlb_range()
102 ftd.size = size; in __flush_tlb_range()
112 return cntx2asid(atomic_long_read(&mm->context.id)); in get_mm_asid()
126 start, end - start, page_size); in flush_tlb_mm_range()
131 __flush_tlb_range(mm_cpumask(vma->vm_mm), get_mm_asid(vma->vm_mm), in flush_tlb_page()
164 __flush_tlb_range(mm_cpumask(vma->vm_mm), get_mm_asid(vma->vm_mm), in flush_tlb_range()
165 start, end - start, stride_size); in flush_tlb_range()
171 start, end - start, PAGE_SIZE); in flush_tlb_kernel_range()
178 __flush_tlb_range(mm_cpumask(vma->vm_mm), get_mm_asid(vma->vm_mm), in flush_pmd_tlb_range()
179 start, end - start, PMD_SIZE); in flush_pmd_tlb_range()
192 cpumask_or(&batch->cpumask, &batch->cpumask, mm_cpumask(mm)); in arch_tlbbatch_add_pending()
202 __flush_tlb_range(&batch->cpumask, FLUSH_TLB_NO_ASID, 0, in arch_tlbbatch_flush()
204 cpumask_clear(&batch->cpumask); in arch_tlbbatch_flush()