Message ID | 5c29a9ff0a20df0167635b1901f94b5195c1fb28.1621604979.git.robin.murphy@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | iommu/rockchip: Remove redundant DMA syncs | expand |
On Fri, May 21, 2021 at 02:49:39PM +0100, Robin Murphy wrote: > When we allocate new pagetable pages, we don't modify them between the > initial dma_map_single() call and the dma_sync_single_for_device() call > via rk_iommu_flush(), so the latter is entirely pointless. > > Signed-off-by: Robin Murphy <robin.murphy@arm.com> > --- > drivers/iommu/rockchip-iommu.c | 3 --- > 1 file changed, 3 deletions(-) Applied, thanks Robin.
diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c index 7a2932772fdf..e5116d6a6260 100644 --- a/drivers/iommu/rockchip-iommu.c +++ b/drivers/iommu/rockchip-iommu.c @@ -682,7 +682,6 @@ static u32 *rk_dte_get_page_table(struct rk_iommu_domain *rk_domain, dte = rk_mk_dte(pt_dma); *dte_addr = dte; - rk_table_flush(rk_domain, pt_dma, NUM_PT_ENTRIES); rk_table_flush(rk_domain, rk_domain->dt_dma + dte_index * sizeof(u32), 1); done: @@ -1004,8 +1003,6 @@ static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) goto err_free_dt; } - rk_table_flush(rk_domain, rk_domain->dt_dma, NUM_DT_ENTRIES); - spin_lock_init(&rk_domain->iommus_lock); spin_lock_init(&rk_domain->dt_lock); INIT_LIST_HEAD(&rk_domain->iommus);
When we allocate new pagetable pages, we don't modify them between the initial dma_map_single() call and the dma_sync_single_for_device() call via rk_iommu_flush(), so the latter is entirely pointless. Signed-off-by: Robin Murphy <robin.murphy@arm.com> --- drivers/iommu/rockchip-iommu.c | 3 --- 1 file changed, 3 deletions(-)