Lines Matching refs:hops

102  * page tables hops related to this context.
142 * - Free DRAM default page mapping hops
476 struct hl_mmu_hop_info *hops,
484 if (hops->unscrambled_paddr)
485 tmp_phys_addr = hops->unscrambled_paddr;
487 tmp_phys_addr = hops->hop_info[hops->used_hops - 1].hop_pte_val;
489 if (hops->range_type == HL_VA_RANGE_TYPE_HOST_HUGE)
491 else if (hops->range_type == HL_VA_RANGE_TYPE_HOST)
496 if ((hops->range_type == HL_VA_RANGE_TYPE_DRAM) &&
523 hop_shift = mmu_prop->hop_shifts[hops->used_hops - 1];
533 struct hl_mmu_hop_info hops;
536 memset(&hops, 0, sizeof(hops));
538 rc = hl_mmu_get_tlb_info(ctx, virt_addr, &hops);
542 hl_mmu_pa_page_with_offset(ctx, virt_addr, &hops, phys_addr);
548 struct hl_mmu_hop_info *hops)
561 hops->scrambled_vaddr = virt_addr; /* assume no scrambling */
573 rc = mmu_funcs->get_tlb_info(ctx, virt_addr, hops);
580 if (hops->unscrambled_paddr)
581 hl_mmu_pa_page_with_offset(ctx, virt_addr, hops, &hops->unscrambled_paddr);
1143 * @hops: HOPs info structure.
1148 int hl_mmu_hr_get_tlb_info(struct hl_ctx *ctx, u64 virt_addr, struct hl_mmu_hop_info *hops,
1158 rc = hr_func->get_tlb_mapping_params(hdev, &mmu_prop, hops, virt_addr, &is_huge);
1168 hops->scrambled_vaddr = hdev->asic_funcs->scramble_addr(hdev, virt_addr);
1175 hops->hop_info[i - 1].hop_pte_val);
1180 hops->hop_info[i].hop_addr = hops_pgt_info[i]->phys_addr;
1181 hops->hop_info[i].hop_pte_addr =
1183 hops->hop_info[i].hop_addr,
1184 hops->scrambled_vaddr);
1185 hops->hop_info[i].hop_pte_val = *(u64 *) (uintptr_t)
1187 hops->hop_info[i].hop_pte_addr,
1190 if (!(hops->hop_info[i].hop_pte_val & PAGE_PRESENT_MASK))
1193 if (hops->hop_info[i].hop_pte_val & mmu_prop->last_mask)
1197 /* if passed over all hops then no last hop was found */
1201 if (hops->scrambled_vaddr != virt_addr)
1202 hops->unscrambled_paddr = hdev->asic_funcs->descramble_addr
1203 (hdev, hops->hop_info[i].hop_pte_val);
1205 hops->unscrambled_paddr = hops->hop_info[i].hop_pte_val;
1207 hops->used_hops = i + 1;