Home
last modified time | relevance | path

Searched refs:curr_pte (Results 1 - 8 of 8) sorted by relevance

/kernel/linux/linux-5.10/drivers/misc/habanalabs/common/
H A Dmmu_v1.c221 static inline u64 get_next_hop_addr(struct hl_ctx *ctx, u64 curr_pte) in get_next_hop_addr() argument
223 if (curr_pte & PAGE_PRESENT_MASK) in get_next_hop_addr()
224 return curr_pte & HOP_PHYS_ADDR_MASK; in get_next_hop_addr()
229 static inline u64 get_alloc_next_hop_addr(struct hl_ctx *ctx, u64 curr_pte, in get_alloc_next_hop_addr() argument
232 u64 hop_addr = get_next_hop_addr(ctx, curr_pte); in get_alloc_next_hop_addr()
535 curr_pte; in _hl_mmu_v1_unmap() local
544 curr_pte = *(u64 *) (uintptr_t) hop0_pte_addr; in _hl_mmu_v1_unmap()
546 hop1_addr = get_next_hop_addr(ctx, curr_pte); in _hl_mmu_v1_unmap()
553 curr_pte = *(u64 *) (uintptr_t) hop1_pte_addr; in _hl_mmu_v1_unmap()
555 hop2_addr = get_next_hop_addr(ctx, curr_pte); in _hl_mmu_v1_unmap()
669 curr_pte = 0; _hl_mmu_v1_map() local
[all...]
H A Ddebugfs.c365 static inline u64 get_next_hop_addr(u64 curr_pte) in get_next_hop_addr() argument
367 if (curr_pte & PAGE_PRESENT_MASK) in get_next_hop_addr()
368 return curr_pte & HOP_PHYS_ADDR_MASK; in get_next_hop_addr()
/kernel/linux/linux-6.6/drivers/accel/habanalabs/common/mmu/
H A Dmmu_v2_hr.c118 u64 curr_pte, scrambled_virt_addr, hop_pte_phys_addr[MMU_ARCH_6_HOPS] = { 0 }; in _hl_mmu_v2_hr_unmap() local
133 curr_pte = 0; in _hl_mmu_v2_hr_unmap()
136 /* we get HOP0 differently, it doesn't need curr_pte */ in _hl_mmu_v2_hr_unmap()
141 &ctx->hdev->mmu_func[MMU_HR_PGT].hr_funcs, curr_pte); in _hl_mmu_v2_hr_unmap()
151 curr_pte = *(u64 *) (uintptr_t) hl_mmu_hr_pte_phys_to_virt(ctx, hops_pgt_info[i], in _hl_mmu_v2_hr_unmap()
155 if ((i < hop_last) && (curr_pte & mmu_prop->last_mask)) { in _hl_mmu_v2_hr_unmap()
167 if (!(curr_pte & PAGE_PRESENT_MASK)) in _hl_mmu_v2_hr_unmap()
210 curr_pte = 0, scrambled_virt_addr, scrambled_phys_addr; in _hl_mmu_v2_hr_map() local
249 mmu_prop, curr_pte, &hop_new[i]); in _hl_mmu_v2_hr_map()
256 curr_pte in _hl_mmu_v2_hr_map()
[all...]
H A Dmmu_v1.c186 static inline u64 get_alloc_next_hop_addr(struct hl_ctx *ctx, u64 curr_pte, in get_alloc_next_hop_addr() argument
189 u64 hop_addr = hl_mmu_get_next_hop_addr(ctx, curr_pte); in get_alloc_next_hop_addr()
486 u64 hop_addr[MMU_V1_MAX_HOPS] = {0}, hop_pte_addr[MMU_V1_MAX_HOPS] = {0}, curr_pte = 0; in hl_mmu_v1_unmap() local
500 hop_addr[hop_idx] = hl_mmu_get_next_hop_addr(ctx, curr_pte); in hl_mmu_v1_unmap()
508 curr_pte = *(u64 *) (uintptr_t) hop_pte_addr[hop_idx]; in hl_mmu_v1_unmap()
511 is_huge = curr_pte & mmu_prop->last_mask; in hl_mmu_v1_unmap()
520 hop_addr[hop_idx] = hl_mmu_get_next_hop_addr(ctx, curr_pte); in hl_mmu_v1_unmap()
526 curr_pte = *(u64 *) (uintptr_t) hop_pte_addr[hop_idx]; in hl_mmu_v1_unmap()
534 if (curr_pte == default_pte) { in hl_mmu_v1_unmap()
541 if (!(curr_pte in hl_mmu_v1_unmap()
590 u64 hop_addr[MMU_V1_MAX_HOPS] = {0}, hop_pte_addr[MMU_V1_MAX_HOPS] = {0}, curr_pte = 0; hl_mmu_v1_map() local
[all...]
H A Dmmu.c714 u64 hl_mmu_get_next_hop_addr(struct hl_ctx *ctx, u64 curr_pte) in hl_mmu_get_next_hop_addr() argument
716 return (curr_pte & PAGE_PRESENT_MASK) ? (curr_pte & HOP_PHYS_ADDR_MASK) : ULLONG_MAX; in hl_mmu_get_next_hop_addr()
1032 * @curr_pte: current PTE value.
1038 u64 curr_pte) in hl_mmu_hr_get_next_hop_pgt_info()
1040 u64 next_hop_phys_addr = hl_mmu_get_next_hop_addr(ctx, curr_pte); in hl_mmu_hr_get_next_hop_pgt_info()
1119 * @curr_pte: current PTE value.
1128 u64 curr_pte, bool *is_new_hop) in hl_mmu_hr_get_alloc_next_hop()
1130 u64 hop_addr = hl_mmu_get_next_hop_addr(ctx, curr_pte); in hl_mmu_hr_get_alloc_next_hop()
1036 hl_mmu_hr_get_next_hop_pgt_info(struct hl_ctx *ctx, struct hl_hr_mmu_funcs *hr_func, u64 curr_pte) hl_mmu_hr_get_next_hop_pgt_info() argument
1124 hl_mmu_hr_get_alloc_next_hop(struct hl_ctx *ctx, struct hl_mmu_hr_priv *hr_priv, struct hl_hr_mmu_funcs *hr_func, struct hl_mmu_properties *mmu_prop, u64 curr_pte, bool *is_new_hop) hl_mmu_hr_get_alloc_next_hop() argument
/kernel/linux/linux-6.6/arch/x86/kvm/mmu/
H A Dpaging_tmpl.h564 pt_element_t curr_pte; in gpte_changed() local
576 curr_pte = gw->prefetch_ptes[index]; in gpte_changed()
579 &curr_pte, sizeof(curr_pte)); in gpte_changed()
581 return r || curr_pte != gw->ptes[level - 1]; in gpte_changed()
/kernel/linux/linux-5.10/arch/x86/kvm/mmu/
H A Dpaging_tmpl.h570 pt_element_t curr_pte; in gpte_changed() local
582 curr_pte = gw->prefetch_ptes[index]; in gpte_changed()
585 &curr_pte, sizeof(curr_pte)); in gpte_changed()
587 return r || curr_pte != gw->ptes[level - 1]; in gpte_changed()
/kernel/linux/linux-6.6/drivers/accel/habanalabs/common/
H A Dhabanalabs.h3774 u64 hl_mmu_get_next_hop_addr(struct hl_ctx *ctx, u64 curr_pte);
3794 u64 curr_pte);
3802 u64 curr_pte, bool *is_new_hop);

Completed in 18 milliseconds