Lines Matching refs:pte
301 static inline phys_addr_t rk_pte_page_address(u32 pte)
303 return (phys_addr_t)pte & RK_PTE_PAGE_ADDRESS_MASK;
306 static inline phys_addr_t rk_pte_page_address_v2(u32 pte)
308 u64 pte_v2 = pte;
316 static inline bool rk_pte_is_page_valid(u32 pte)
318 return pte & RK_PTE_PAGE_VALID;
344 static u32 rk_mk_pte_invalid(u32 pte)
346 return pte & ~RK_PTE_PAGE_VALID;
675 u32 pte = 0;
703 pte = *pte_addr;
705 if (!rk_pte_is_page_valid(pte)) {
710 page_addr_phys = rk_pte_page_address_v2(pte) + page_offset;
712 page_addr_phys = rk_pte_page_address(pte) + page_offset;
714 page_flags = pte & RK_PTE_PAGE_FLAGS_MASK;
719 dev_err(iommu->dev, "mmu_dte_addr: %pa dte@%pa: %#08x valid: %u pte@%pa: %#08x valid: %u page@%pa flags: %#03x\n",
720 &mmu_dte_addr_phys, &dte_addr_phys, dte, rk_dte_is_pt_valid(dte), &pte_addr_phys, pte,
721 rk_pte_is_page_valid(pte), &page_addr_phys, page_flags);
810 u32 dte, pte;
822 pte = page_table[rk_iova_pte_index(iova)];
823 if (!rk_pte_is_page_valid(pte)) {
827 phys = rk_pte_page_address(pte) + rk_iova_page_offset(iova);
839 u32 dte, pte;
851 pte = page_table[rk_iova_pte_index(iova)];
852 if (!rk_pte_is_page_valid(pte)) {
856 phys = rk_pte_page_address_v2(pte) + rk_iova_page_offset(iova);
984 u32 pte = pte_addr[pte_count];
985 if (!rk_pte_is_page_valid(pte)) {
989 pte_addr[pte_count] = rk_mk_pte_invalid(pte);
1007 u32 pte = pte_addr[pte_count];
1009 if (rk_pte_is_page_valid(pte)) {
1022 * mapped cachelines holding stale values for its dte and pte.
1024 * dte or pte shared with an existing mapping.
1053 u32 pte = pte_addr[pte_count];
1055 if (rk_pte_is_page_valid(pte)) {
1068 * mapped cachelines holding stale values for its dte and pte.
1070 * dte or pte shared with an existing mapping.