mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v6 01/12] iommu/exynos: add missing cache flush for removed pagetable entries
@ 2012-12-26  1:53 Cho KyongHo
  0 siblings, 0 replies; 7+ messages in thread
From: Cho KyongHo @ 2012-12-26  1:53 UTC (permalink / raw)
  To: 'Linux ARM Kernel', 'Linux IOMMU',
	'Linux Kernel', 'Linux Samsung SOC'
  Cc: 'Hyunwoong Kim', 'Joerg Roedel',
	'Kukjin Kim', 'Prathyush', 'Rahul Sharma',
	'Subash Patel'

This commit adds cache flush for removed small page and large page
entries in exynos_iommu_unmap(). Missing cache flush of removed
page table entries can cause missing page fault interrupt when a
master IP accesses an unmapped area.

Signed-off-by: KyongHo Cho <pullip.cho@samsung.com>
---
 drivers/iommu/exynos-iommu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index 7fe44f8..b96f3b9 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -1002,6 +1002,7 @@ static size_t exynos_iommu_unmap(struct iommu_domain *domain,
 
 	if (lv2ent_small(ent)) {
 		*ent = 0;
+		pgtable_flush(ent, ent + 1);
 		size = SPAGE_SIZE;
 		priv->lv2entcnt[lv1ent_offset(iova)] += 1;
 		goto done;
@@ -1011,6 +1012,7 @@ static size_t exynos_iommu_unmap(struct iommu_domain *domain,
 	BUG_ON(size < LPAGE_SIZE);
 
 	memset(ent, 0, sizeof(*ent) * SPAGES_PER_LPAGE);
+	pgtable_flush(ent, ent + SPAGES_PER_LPAGE);
 
 	size = LPAGE_SIZE;
 	priv->lv2entcnt[lv1ent_offset(iova)] += SPAGES_PER_LPAGE;
-- 
1.8.0



^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: [PATCH v6 01/12] iommu/exynos: add missing cache flush for removed pagetable entries
@ 2013-07-02  1:49 Grant Grundler
  2013-07-02  2:21 ` Grant Grundler
  2013-07-03 20:43 ` Grant Grundler
  0 siblings, 2 replies; 7+ messages in thread
From: Grant Grundler @ 2013-07-02  1:49 UTC (permalink / raw)
  To: linux-arm, Joerg Roedel; +Cc: LKML

On Tuesday, December 25, 2012 6:00:01 PM UTC-8, Cho KyongHo wrote:
> This commit adds cache flush for removed small page and large page
> entries in exynos_iommu_unmap(). Missing cache flush of removed
> page table entries can cause missing page fault interrupt when a
> master IP accesses an unmapped area.

KyongHo,
It appears this patch was never applied and got caught up in the
device tree binding discussion. AFAICT, this patch is still necessary.
Can you resubmit this patch separately. Or ok if I do?

Original patch is here:
    https://patchwork.kernel.org/patch/1910261/

thanks,
grant

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-07-08 18:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-26  1:53 [PATCH v6 01/12] iommu/exynos: add missing cache flush for removed pagetable entries Cho KyongHo
2013-07-02  1:49 Grant Grundler
2013-07-02  2:21 ` Grant Grundler
2013-07-03 20:43 ` Grant Grundler
2013-07-04 11:20   ` Cho KyongHo
2013-07-08 18:21     ` Grant Grundler
2013-07-08 18:29       ` Grant Grundler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®