Lines Matching refs:iova
179 unsigned long iova) in smmu_flush_tlb_section() argument
184 SMMU_TLB_FLUSH_VA_SECTION(iova); in smmu_flush_tlb_section()
190 unsigned long iova) in smmu_flush_tlb_group() argument
195 SMMU_TLB_FLUSH_VA_GROUP(iova); in smmu_flush_tlb_group()
467 static u32 *as_get_pte(struct tegra_smmu_as *as, dma_addr_t iova, in as_get_pte() argument
471 u32 pde = (iova >> SMMU_PDE_SHIFT) & 0x3ff; in as_get_pte()
472 u32 pte = (iova >> SMMU_PTE_SHIFT) & 0x3ff; in as_get_pte()
494 smmu_flush_tlb_section(smmu, as->id, iova); in as_get_pte()
511 static void as_put_pte(struct tegra_smmu_as *as, dma_addr_t iova) in as_put_pte() argument
513 u32 pde = (iova >> SMMU_PDE_SHIFT) & 0x3ff; in as_put_pte()
514 u32 pte = (iova >> SMMU_PTE_SHIFT) & 0x3ff; in as_put_pte()
537 static int tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_map() argument
546 pte = as_get_pte(as, iova, &page); in tegra_smmu_map()
555 smmu_flush_tlb_group(smmu, as->id, iova); in tegra_smmu_map()
561 static size_t tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_unmap() argument
570 pte = as_get_pte(as, iova, &page); in tegra_smmu_unmap()
575 as_put_pte(as, iova); in tegra_smmu_unmap()
579 smmu_flush_tlb_group(smmu, as->id, iova); in tegra_smmu_unmap()
586 dma_addr_t iova) in tegra_smmu_iova_to_phys() argument
593 pte = as_get_pte(as, iova, &page); in tegra_smmu_iova_to_phys()