提交 37683e45 编写于 作者: H Hiroshi Doyu 提交者: Joerg Roedel

iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all

smmu_flush_regs() does TLB/PTC flush all when freeing a second level
page table. This isn't necessay at all since each pte entry has been
already maintained by address in the above flush_ptc_and_tlb().
Signed-off-by: NHiroshi Doyu <hdoyu@nvidia.com>
Signed-off-by: NJoerg Roedel <joro@8bytes.org>
上级 9489e9dc
...@@ -696,10 +696,8 @@ static void __smmu_iommu_unmap(struct smmu_as *as, dma_addr_t iova) ...@@ -696,10 +696,8 @@ static void __smmu_iommu_unmap(struct smmu_as *as, dma_addr_t iova)
*pte = _PTE_VACANT(iova); *pte = _PTE_VACANT(iova);
FLUSH_CPU_DCACHE(pte, page, sizeof(*pte)); FLUSH_CPU_DCACHE(pte, page, sizeof(*pte));
flush_ptc_and_tlb(as->smmu, as, iova, pte, page, 0); flush_ptc_and_tlb(as->smmu, as, iova, pte, page, 0);
if (!--(*count)) { if (!--(*count))
free_ptbl(as, iova); free_ptbl(as, iova);
smmu_flush_regs(as->smmu, 0);
}
} }
static void __smmu_iommu_map_pfn(struct smmu_as *as, dma_addr_t iova, static void __smmu_iommu_map_pfn(struct smmu_as *as, dma_addr_t iova,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册