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()
560 u32 dte; in sun50i_dte_get_page_table() local
563 dte = *dte_addr; in sun50i_dte_get_page_table()
564 if (sun50i_dte_is_pt_valid(dte)) { in sun50i_dte_get_page_table()
565 phys_addr_t pt_phys = sun50i_dte_get_pt_address(dte); in sun50i_dte_get_page_table()
573 dte = sun50i_mk_dte(virt_to_phys(page_table)); in sun50i_dte_get_page_table()
574 old_dte = cmpxchg(dte_addr, 0, dte); in sun50i_dte_get_page_table()
582 dte = old_dte; in sun50i_dte_get_page_table()
631 u32 dte; in sun50i_iommu_unmap() local
633 dte = sun50i_domain->dt[sun50i_iova_get_dte_index(iova)]; in sun50i_iommu_unmap()
634 if (!sun50i_dte_is_pt_valid(dte)) in sun50i_iommu_unmap()
637 pt_phys = sun50i_dte_get_pt_address(dte); in sun50i_iommu_unmap()
655 u32 dte, pte; in sun50i_iommu_iova_to_phys() local
657 dte = sun50i_domain->dt[sun50i_iova_get_dte_index(iova)]; in sun50i_iommu_iova_to_phys()
658 if (!sun50i_dte_is_pt_valid(dte)) in sun50i_iommu_iova_to_phys()
661 pt_phys = sun50i_dte_get_pt_address(dte); in sun50i_iommu_iova_to_phys()
737 u32 dte; in sun50i_iommu_detach_domain() local
740 dte = *dte_addr; in sun50i_iommu_detach_domain()
741 if (!sun50i_dte_is_pt_valid(dte)) in sun50i_iommu_detach_domain()
747 pt_phys = sun50i_dte_get_pt_address(dte); in sun50i_iommu_detach_domain()