Lines Matching full:dte
151 * 4096 4-bytes Directory Table Entries (DTE), each pointing to a Page
196 static phys_addr_t sun50i_dte_get_pt_address(u32 dte) in sun50i_dte_get_pt_address() argument
198 return (phys_addr_t)dte & SUN50I_DTE_PT_ADDRESS_MASK; in sun50i_dte_get_pt_address()
201 static bool sun50i_dte_is_pt_valid(u32 dte) in sun50i_dte_is_pt_valid() argument
203 return (dte & SUN50I_DTE_PT_ATTRS) == SUN50I_DTE_PT_VALID; in sun50i_dte_is_pt_valid()
559 u32 dte; in sun50i_dte_get_page_table() local
562 dte = *dte_addr; in sun50i_dte_get_page_table()
563 if (sun50i_dte_is_pt_valid(dte)) { in sun50i_dte_get_page_table()
564 phys_addr_t pt_phys = sun50i_dte_get_pt_address(dte); in sun50i_dte_get_page_table()
572 dte = sun50i_mk_dte(virt_to_phys(page_table)); in sun50i_dte_get_page_table()
573 old_dte = cmpxchg(dte_addr, 0, dte); in sun50i_dte_get_page_table()
581 dte = old_dte; in sun50i_dte_get_page_table()
630 u32 dte; in sun50i_iommu_unmap() local
632 dte = sun50i_domain->dt[sun50i_iova_get_dte_index(iova)]; in sun50i_iommu_unmap()
633 if (!sun50i_dte_is_pt_valid(dte)) in sun50i_iommu_unmap()
636 pt_phys = sun50i_dte_get_pt_address(dte); in sun50i_iommu_unmap()
654 u32 dte, pte; in sun50i_iommu_iova_to_phys() local
656 dte = sun50i_domain->dt[sun50i_iova_get_dte_index(iova)]; in sun50i_iommu_iova_to_phys()
657 if (!sun50i_dte_is_pt_valid(dte)) in sun50i_iommu_iova_to_phys()
660 pt_phys = sun50i_dte_get_pt_address(dte); in sun50i_iommu_iova_to_phys()
736 u32 dte; in sun50i_iommu_detach_domain() local
739 dte = *dte_addr; in sun50i_iommu_detach_domain()
740 if (!sun50i_dte_is_pt_valid(dte)) in sun50i_iommu_detach_domain()
746 pt_phys = sun50i_dte_get_pt_address(dte); in sun50i_iommu_detach_domain()