aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-07-27 08:29:57 -0400
committerThierry Reding <treding@nvidia.com>2015-08-13 10:06:42 -0400
commit05a65f06f69fa6c487c2933f2971d9ec4e33eb0d (patch)
tree18feebb49a970b7a0ecfb31e237256123521cbd8 /drivers/iommu
parente3c971960fd41fc55235ba05b95e053355cb0e73 (diff)
iommu/tegra-smmu: Remove PageReserved manipulation
Remove the unnecessary manipulation of the PageReserved flags in the Tegra SMMU driver. None of this is required as the page(s) remain private to the SMMU driver. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/tegra-smmu.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
index 43b69c8cbe46..eb9f6068fe2e 100644
--- a/drivers/iommu/tegra-smmu.c
+++ b/drivers/iommu/tegra-smmu.c
@@ -293,7 +293,6 @@ static struct iommu_domain *tegra_smmu_domain_alloc(unsigned type)
293 293
294 /* clear PDEs */ 294 /* clear PDEs */
295 pd = page_address(as->pd); 295 pd = page_address(as->pd);
296 SetPageReserved(as->pd);
297 296
298 for (i = 0; i < SMMU_NUM_PDE; i++) 297 for (i = 0; i < SMMU_NUM_PDE; i++)
299 pd[i] = 0; 298 pd[i] = 0;
@@ -311,7 +310,6 @@ static void tegra_smmu_domain_free(struct iommu_domain *domain)
311 struct tegra_smmu_as *as = to_smmu_as(domain); 310 struct tegra_smmu_as *as = to_smmu_as(domain);
312 311
313 /* TODO: free page directory and page tables */ 312 /* TODO: free page directory and page tables */
314 ClearPageReserved(as->pd);
315 313
316 kfree(as); 314 kfree(as);
317} 315}
@@ -566,8 +564,6 @@ static u32 *as_get_pte(struct tegra_smmu_as *as, dma_addr_t iova,
566 564
567 as->pts[pde] = page; 565 as->pts[pde] = page;
568 566
569 SetPageReserved(page);
570
571 pd[pde] = SMMU_MK_PDE(dma, SMMU_PDE_ATTR | SMMU_PDE_NEXT); 567 pd[pde] = SMMU_MK_PDE(dma, SMMU_PDE_ATTR | SMMU_PDE_NEXT);
572 568
573 dma_sync_single_range_for_device(smmu->dev, as->pd_dma, 569 dma_sync_single_range_for_device(smmu->dev, as->pd_dma,
@@ -617,7 +613,6 @@ static void tegra_smmu_pte_put_use(struct tegra_smmu_as *as, unsigned long iova)
617 613
618 /* Finally, free the page */ 614 /* Finally, free the page */
619 dma_unmap_page(smmu->dev, pte_dma, SMMU_SIZE_PT, DMA_TO_DEVICE); 615 dma_unmap_page(smmu->dev, pte_dma, SMMU_SIZE_PT, DMA_TO_DEVICE);
620 ClearPageReserved(page);
621 __free_page(page); 616 __free_page(page);
622 as->pts[pde] = NULL; 617 as->pts[pde] = NULL;
623 } 618 }