* [PATCH 1/3] iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all
@ 2012-11-28 13:52 Hiroshi Doyu
[not found] ` <1354110775-11810-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Hiroshi Doyu @ 2012-11-28 13:52 UTC (permalink / raw)
To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
joro-zLv9SwRftAIdnm+yROfE0A
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA
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: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
drivers/iommu/tegra-smmu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
index 4167863..46f5712 100644
--- a/drivers/iommu/tegra-smmu.c
+++ b/drivers/iommu/tegra-smmu.c
@@ -694,10 +694,8 @@ static void __smmu_iommu_unmap(struct smmu_as *as, dma_addr_t iova)
*pte = _PTE_VACANT(iova);
FLUSH_CPU_DCACHE(pte, page, sizeof(*pte));
flush_ptc_and_tlb(as->smmu, as, iova, pte, page, 0);
- if (!--(*count)) {
+ if (!--(*count))
free_ptbl(as, iova);
- smmu_flush_regs(as->smmu, 0);
- }
}
static void __smmu_iommu_map_pfn(struct smmu_as *as, dma_addr_t iova,
--
1.7.9.5
^ permalink raw reply related [flat|nested] 5+ messages in thread[parent not found: <1354110775-11810-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>]
* [PATCH 2/3] iommu/tegra: gart: Move bus_set_iommu after probe for multi arch [not found] ` <1354110775-11810-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> @ 2012-11-28 13:52 ` Hiroshi Doyu 2012-11-28 13:52 ` [PATCH 3/3] iommu/tegra: smmu: " Hiroshi Doyu 2012-11-28 19:40 ` [PATCH 1/3] iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all Joerg Roedel 2 siblings, 0 replies; 5+ messages in thread From: Hiroshi Doyu @ 2012-11-28 13:52 UTC (permalink / raw) To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, joro-zLv9SwRftAIdnm+yROfE0A Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, Hiroshi Doyu For a single image to support multiple SoCs(GART/SMMU). Reported-by: Arto Merilainen <amerilainen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> Signed-off-by: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> --- drivers/iommu/tegra-gart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/tegra-gart.c b/drivers/iommu/tegra-gart.c index c16e8fc..4c9db62 100644 --- a/drivers/iommu/tegra-gart.c +++ b/drivers/iommu/tegra-gart.c @@ -398,6 +398,7 @@ static int tegra_gart_probe(struct platform_device *pdev) do_gart_setup(gart, NULL); gart_handle = gart; + bus_set_iommu(&platform_bus_type, &gart_iommu_ops); return 0; fail: @@ -450,7 +451,6 @@ static struct platform_driver tegra_gart_driver = { static int __devinit tegra_gart_init(void) { - bus_set_iommu(&platform_bus_type, &gart_iommu_ops); return platform_driver_register(&tegra_gart_driver); } -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] iommu/tegra: smmu: Move bus_set_iommu after probe for multi arch [not found] ` <1354110775-11810-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2012-11-28 13:52 ` [PATCH 2/3] iommu/tegra: gart: Move bus_set_iommu after probe for multi arch Hiroshi Doyu @ 2012-11-28 13:52 ` Hiroshi Doyu [not found] ` <1354110775-11810-3-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2012-11-28 19:40 ` [PATCH 1/3] iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all Joerg Roedel 2 siblings, 1 reply; 5+ messages in thread From: Hiroshi Doyu @ 2012-11-28 13:52 UTC (permalink / raw) To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, joro-zLv9SwRftAIdnm+yROfE0A Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA For a single image to support multiple SoCs(GART/SMMU). Reported-by: Arto Merilainen <amerilainen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> Signed-off-by: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> --- drivers/iommu/tegra-smmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c index 46f5712..608185b 100644 --- a/drivers/iommu/tegra-smmu.c +++ b/drivers/iommu/tegra-smmu.c @@ -1229,6 +1229,7 @@ static int tegra_smmu_probe(struct platform_device *pdev) smmu_debugfs_create(smmu); smmu_handle = smmu; + bus_set_iommu(&platform_bus_type, &smmu_iommu_ops); return 0; } @@ -1273,7 +1274,6 @@ static struct platform_driver tegra_smmu_driver = { static int __devinit tegra_smmu_init(void) { - bus_set_iommu(&platform_bus_type, &smmu_iommu_ops); return platform_driver_register(&tegra_smmu_driver); } -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <1354110775-11810-3-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH 3/3] iommu/tegra: smmu: Move bus_set_iommu after probe for multi arch [not found] ` <1354110775-11810-3-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> @ 2012-11-30 5:07 ` Mark Zhang 0 siblings, 0 replies; 5+ messages in thread From: Mark Zhang @ 2012-11-30 5:07 UTC (permalink / raw) To: Hiroshi Doyu Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, joro-zLv9SwRftAIdnm+yROfE0A, linux-tegra-u79uwXL29TY76Z2rM5mHXA On 11/28/2012 09:52 PM, Hiroshi Doyu wrote: > For a single image to support multiple SoCs(GART/SMMU). > To be honest, I didn't get why we need to move "bus_set_iommu" to probe func. So could you add more words in the commit message? Same with tegra-gart.c. Mark > Reported-by: Arto Merilainen <amerilainen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > Signed-off-by: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > --- > drivers/iommu/tegra-smmu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c > index 46f5712..608185b 100644 > --- a/drivers/iommu/tegra-smmu.c > +++ b/drivers/iommu/tegra-smmu.c > @@ -1229,6 +1229,7 @@ static int tegra_smmu_probe(struct platform_device *pdev) > > smmu_debugfs_create(smmu); > smmu_handle = smmu; > + bus_set_iommu(&platform_bus_type, &smmu_iommu_ops); > return 0; > } > > @@ -1273,7 +1274,6 @@ static struct platform_driver tegra_smmu_driver = { > > static int __devinit tegra_smmu_init(void) > { > - bus_set_iommu(&platform_bus_type, &smmu_iommu_ops); > return platform_driver_register(&tegra_smmu_driver); > } > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all [not found] ` <1354110775-11810-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2012-11-28 13:52 ` [PATCH 2/3] iommu/tegra: gart: Move bus_set_iommu after probe for multi arch Hiroshi Doyu 2012-11-28 13:52 ` [PATCH 3/3] iommu/tegra: smmu: " Hiroshi Doyu @ 2012-11-28 19:40 ` Joerg Roedel 2 siblings, 0 replies; 5+ messages in thread From: Joerg Roedel @ 2012-11-28 19:40 UTC (permalink / raw) To: Hiroshi Doyu Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA On Wed, Nov 28, 2012 at 03:52:53PM +0200, Hiroshi Doyu wrote: > 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: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> Applied, thanks. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-11-30 5:07 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-28 13:52 [PATCH 1/3] iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all Hiroshi Doyu
[not found] ` <1354110775-11810-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-28 13:52 ` [PATCH 2/3] iommu/tegra: gart: Move bus_set_iommu after probe for multi arch Hiroshi Doyu
2012-11-28 13:52 ` [PATCH 3/3] iommu/tegra: smmu: " Hiroshi Doyu
[not found] ` <1354110775-11810-3-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-30 5:07 ` Mark Zhang
2012-11-28 19:40 ` [PATCH 1/3] iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all Joerg Roedel
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.