Lines Matching refs:pid

29 					unsigned int pid,  in tlbiel_radix_set_isa300()  argument
36 rs = ((unsigned long)pid << PPC_BITLSHIFT(31)); in tlbiel_radix_set_isa300()
93 static __always_inline void __tlbiel_pid(unsigned long pid, int set, in __tlbiel_pid() argument
100 rs = ((unsigned long)pid) << PPC_BITLSHIFT(31); in __tlbiel_pid()
109 static __always_inline void __tlbie_pid(unsigned long pid, unsigned long ric) in __tlbie_pid() argument
114 rs = pid << PPC_BITLSHIFT(31); in __tlbie_pid()
151 static __always_inline void __tlbiel_va(unsigned long va, unsigned long pid, in __tlbiel_va() argument
158 rs = pid << PPC_BITLSHIFT(31); in __tlbiel_va()
167 static __always_inline void __tlbie_va(unsigned long va, unsigned long pid, in __tlbie_va() argument
174 rs = pid << PPC_BITLSHIFT(31); in __tlbie_va()
200 static inline void fixup_tlbie_va(unsigned long va, unsigned long pid, in fixup_tlbie_va() argument
210 __tlbie_va(va, pid, ap, RIC_FLUSH_TLB); in fixup_tlbie_va()
214 static inline void fixup_tlbie_va_range(unsigned long va, unsigned long pid, in fixup_tlbie_va_range() argument
224 __tlbie_va(va, pid, ap, RIC_FLUSH_TLB); in fixup_tlbie_va_range()
228 static inline void fixup_tlbie_pid(unsigned long pid) in fixup_tlbie_pid() argument
243 __tlbie_va(va, pid, mmu_get_ap(MMU_PAGE_64K), RIC_FLUSH_TLB); in fixup_tlbie_pid()
284 static __always_inline void _tlbiel_pid(unsigned long pid, unsigned long ric) in _tlbiel_pid() argument
294 __tlbiel_pid(pid, 0, ric); in _tlbiel_pid()
304 __tlbiel_pid(pid, set, RIC_FLUSH_TLB); in _tlbiel_pid()
310 static inline void _tlbie_pid(unsigned long pid, unsigned long ric) in _tlbie_pid() argument
321 __tlbie_pid(pid, RIC_FLUSH_TLB); in _tlbie_pid()
322 fixup_tlbie_pid(pid); in _tlbie_pid()
325 __tlbie_pid(pid, RIC_FLUSH_PWC); in _tlbie_pid()
329 __tlbie_pid(pid, RIC_FLUSH_ALL); in _tlbie_pid()
330 fixup_tlbie_pid(pid); in _tlbie_pid()
336 unsigned long pid; member
345 _tlbiel_pid(t->pid, RIC_FLUSH_TLB); in do_tlbiel_pid()
347 _tlbiel_pid(t->pid, RIC_FLUSH_PWC); in do_tlbiel_pid()
349 _tlbiel_pid(t->pid, RIC_FLUSH_ALL); in do_tlbiel_pid()
353 unsigned long pid, unsigned long ric) in _tlbiel_pid_multicast() argument
356 struct tlbiel_pid t = { .pid = pid, .ric = ric }; in _tlbiel_pid_multicast()
365 _tlbie_pid(pid, RIC_FLUSH_ALL); in _tlbiel_pid_multicast()
416 unsigned long pid, unsigned long page_size, in __tlbiel_va_range() argument
423 __tlbiel_va(addr, pid, ap, RIC_FLUSH_TLB); in __tlbiel_va_range()
426 static __always_inline void _tlbiel_va(unsigned long va, unsigned long pid, in _tlbiel_va() argument
432 __tlbiel_va(va, pid, ap, ric); in _tlbiel_va()
437 unsigned long pid, unsigned long page_size, in _tlbiel_va_range() argument
442 __tlbiel_pid(pid, 0, RIC_FLUSH_PWC); in _tlbiel_va_range()
443 __tlbiel_va_range(start, end, pid, page_size, psize); in _tlbiel_va_range()
448 unsigned long pid, unsigned long page_size, in __tlbie_va_range() argument
455 __tlbie_va(addr, pid, ap, RIC_FLUSH_TLB); in __tlbie_va_range()
457 fixup_tlbie_va_range(addr - page_size, pid, ap); in __tlbie_va_range()
460 static __always_inline void _tlbie_va(unsigned long va, unsigned long pid, in _tlbie_va() argument
466 __tlbie_va(va, pid, ap, ric); in _tlbie_va()
467 fixup_tlbie_va(va, pid, ap); in _tlbie_va()
472 unsigned long pid; member
483 _tlbiel_va(t->va, t->pid, t->psize, RIC_FLUSH_TLB); in do_tlbiel_va()
485 _tlbiel_va(t->va, t->pid, t->psize, RIC_FLUSH_PWC); in do_tlbiel_va()
487 _tlbiel_va(t->va, t->pid, t->psize, RIC_FLUSH_ALL); in do_tlbiel_va()
491 unsigned long va, unsigned long pid, in _tlbiel_va_multicast() argument
495 struct tlbiel_va t = { .va = va, .pid = pid, .psize = psize, .ric = ric }; in _tlbiel_va_multicast()
498 _tlbie_va(va, pid, psize, RIC_FLUSH_TLB); in _tlbiel_va_multicast()
502 unsigned long pid; member
514 _tlbiel_va_range(t->start, t->end, t->pid, t->page_size, in do_tlbiel_va_range()
530 unsigned long pid, unsigned long page_size, in _tlbie_va_range() argument
535 __tlbie_pid(pid, RIC_FLUSH_PWC); in _tlbie_va_range()
536 __tlbie_va_range(start, end, pid, page_size, psize); in _tlbie_va_range()
542 unsigned long pid, unsigned long page_size, in _tlbiel_va_range_multicast() argument
547 .pid = pid, .page_size = page_size, in _tlbiel_va_range_multicast()
552 _tlbie_va_range(start, end, pid, page_size, psize, also_pwc); in _tlbiel_va_range_multicast()
568 unsigned long pid; in radix__local_flush_tlb_mm() local
571 pid = mm->context.id; in radix__local_flush_tlb_mm()
572 if (pid != MMU_NO_CONTEXT) in radix__local_flush_tlb_mm()
573 _tlbiel_pid(pid, RIC_FLUSH_TLB); in radix__local_flush_tlb_mm()
581 unsigned long pid; in radix__local_flush_all_mm() local
584 pid = mm->context.id; in radix__local_flush_all_mm()
585 if (pid != MMU_NO_CONTEXT) in radix__local_flush_all_mm()
586 _tlbiel_pid(pid, RIC_FLUSH_ALL); in radix__local_flush_all_mm()
595 unsigned long pid; in radix__local_flush_tlb_page_psize() local
598 pid = mm->context.id; in radix__local_flush_tlb_page_psize()
599 if (pid != MMU_NO_CONTEXT) in radix__local_flush_tlb_page_psize()
600 _tlbiel_va(vmaddr, pid, psize, RIC_FLUSH_TLB); in radix__local_flush_tlb_page_psize()
640 unsigned long pid = mm->context.id; in do_exit_flush_lazy_tlb() local
655 _tlbiel_pid(pid, RIC_FLUSH_ALL); in do_exit_flush_lazy_tlb()
674 unsigned long pid; in radix__flush_tlb_mm() local
676 pid = mm->context.id; in radix__flush_tlb_mm()
677 if (unlikely(pid == MMU_NO_CONTEXT)) in radix__flush_tlb_mm()
694 _tlbie_pid(pid, RIC_FLUSH_ALL); in radix__flush_tlb_mm()
696 _tlbie_pid(pid, RIC_FLUSH_TLB); in radix__flush_tlb_mm()
698 _tlbiel_pid_multicast(mm, pid, RIC_FLUSH_TLB); in radix__flush_tlb_mm()
702 _tlbiel_pid(pid, RIC_FLUSH_TLB); in radix__flush_tlb_mm()
710 unsigned long pid; in __flush_all_mm() local
712 pid = mm->context.id; in __flush_all_mm()
713 if (unlikely(pid == MMU_NO_CONTEXT)) in __flush_all_mm()
726 _tlbie_pid(pid, RIC_FLUSH_ALL); in __flush_all_mm()
728 _tlbiel_pid_multicast(mm, pid, RIC_FLUSH_ALL); in __flush_all_mm()
731 _tlbiel_pid(pid, RIC_FLUSH_ALL); in __flush_all_mm()
750 unsigned long pid; in radix__flush_tlb_page_psize() local
752 pid = mm->context.id; in radix__flush_tlb_page_psize()
753 if (unlikely(pid == MMU_NO_CONTEXT)) in radix__flush_tlb_page_psize()
764 _tlbie_va(vmaddr, pid, psize, RIC_FLUSH_TLB); in radix__flush_tlb_page_psize()
766 _tlbiel_va_multicast(mm, vmaddr, pid, psize, RIC_FLUSH_TLB); in radix__flush_tlb_page_psize()
769 _tlbiel_va(vmaddr, pid, psize, RIC_FLUSH_TLB); in radix__flush_tlb_page_psize()
839 unsigned long pid; in __radix__flush_tlb_range() local
845 pid = mm->context.id; in __radix__flush_tlb_range()
846 if (unlikely(pid == MMU_NO_CONTEXT)) in __radix__flush_tlb_range()
870 _tlbiel_pid(pid, RIC_FLUSH_TLB); in __radix__flush_tlb_range()
874 _tlbie_pid(pid, RIC_FLUSH_ALL); in __radix__flush_tlb_range()
876 _tlbie_pid(pid, RIC_FLUSH_TLB); in __radix__flush_tlb_range()
878 _tlbiel_pid_multicast(mm, pid, RIC_FLUSH_TLB); in __radix__flush_tlb_range()
906 __tlbiel_va_range(start, end, pid, page_size, mmu_virtual_psize); in __radix__flush_tlb_range()
908 __tlbiel_va_range(hstart, hend, pid, in __radix__flush_tlb_range()
911 __tlbiel_va_range(gstart, gend, pid, in __radix__flush_tlb_range()
916 __tlbie_va_range(start, end, pid, page_size, mmu_virtual_psize); in __radix__flush_tlb_range()
918 __tlbie_va_range(hstart, hend, pid, in __radix__flush_tlb_range()
921 __tlbie_va_range(gstart, gend, pid, in __radix__flush_tlb_range()
927 start, end, pid, page_size, mmu_virtual_psize, false); in __radix__flush_tlb_range()
930 hstart, hend, pid, PMD_SIZE, MMU_PAGE_2M, false); in __radix__flush_tlb_range()
933 gstart, gend, pid, PUD_SIZE, MMU_PAGE_1G, false); in __radix__flush_tlb_range()
1077 unsigned long pid; in __radix__flush_tlb_range_psize() local
1083 pid = mm->context.id; in __radix__flush_tlb_range_psize()
1084 if (unlikely(pid == MMU_NO_CONTEXT)) in __radix__flush_tlb_range_psize()
1108 _tlbiel_pid(pid, also_pwc ? RIC_FLUSH_ALL : RIC_FLUSH_TLB); in __radix__flush_tlb_range_psize()
1114 _tlbie_pid(pid, in __radix__flush_tlb_range_psize()
1117 _tlbiel_pid_multicast(mm, pid, in __radix__flush_tlb_range_psize()
1124 _tlbiel_va_range(start, end, pid, page_size, psize, also_pwc); in __radix__flush_tlb_range_psize()
1126 _tlbie_va_range(start, end, pid, page_size, psize, also_pwc); in __radix__flush_tlb_range_psize()
1129 start, end, pid, page_size, psize, also_pwc); in __radix__flush_tlb_range_psize()
1149 unsigned long pid, end; in radix__flush_tlb_collapsed_pmd() local
1151 pid = mm->context.id; in radix__flush_tlb_collapsed_pmd()
1152 if (unlikely(pid == MMU_NO_CONTEXT)) in radix__flush_tlb_collapsed_pmd()
1172 _tlbie_va_range(addr, end, pid, PAGE_SIZE, mmu_virtual_psize, true); in radix__flush_tlb_collapsed_pmd()
1175 addr, end, pid, PAGE_SIZE, mmu_virtual_psize, true); in radix__flush_tlb_collapsed_pmd()
1178 _tlbiel_va_range(addr, end, pid, PAGE_SIZE, mmu_virtual_psize, true); in radix__flush_tlb_collapsed_pmd()
1219 unsigned long pid = mm->context.id; in radix_kvm_prefetch_workaround() local
1221 if (unlikely(pid == MMU_NO_CONTEXT)) in radix_kvm_prefetch_workaround()
1253 _tlbiel_pid(pid, RIC_FLUSH_ALL); in radix_kvm_prefetch_workaround()