projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8124c8a
)
iommu/rockchip: Remove redundant DMA syncs
author
Robin Murphy
<robin.murphy@arm.com>
Fri, 21 May 2021 13:49:39 +0000
(14:49 +0100)
committer
Joerg Roedel
<jroedel@suse.de>
Fri, 4 Jun 2021 15:11:26 +0000
(17:11 +0200)
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>
Link:
https://lore.kernel.org/r/5c29a9ff0a20df0167635b1901f94b5195c1fb28.1621604979.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/rockchip-iommu.c
patch
|
blob
|
history
diff --git
a/drivers/iommu/rockchip-iommu.c
b/drivers/iommu/rockchip-iommu.c
index 7a2932772fdf5e09436efca861f54aee236d132f..e5116d6a626087a4525e9de4ad847fb111ea3c91 100644
(file)
--- 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);