[RAMEN9610-12270] iommu/exynos: do not force IOMMU_CACHE
authorCho KyongHo <pullip.cho@samsung.com>
Mon, 18 Feb 2019 02:28:45 +0000 (11:28 +0900)
committerCosmin Tanislav <demonsingur@gmail.com>
Mon, 22 Apr 2024 17:23:17 +0000 (20:23 +0300)
IOMMU_CACHE of Exynos IOMMU means shareable in the page tables of IOMMU.
Forcing shareable to all I/O coherent DMAs may obstruct changes to
shareability property of DMAs of the client drivers.

Change-Id: Ibb5e0f5f5a0e0ef6942b2d7901014e6b94e430b1
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
drivers/iommu/exynos-iovmm.c

index e16cd7068fc911b743e28afad14326da792ea187..5fde22ac2788f71634bac9113b203c2a03c5438c 100644 (file)
@@ -533,8 +533,6 @@ dma_addr_t exynos_iovmm_map_userptr(struct device *dev, unsigned long vaddr,
                (pgprot_val(pgprot_noncached(vma->vm_page_prot)) ==
                                        pgprot_val(vma->vm_page_prot)))
                prot &= ~IOMMU_CACHE;
-       else if (device_get_dma_attr(dev) == DEV_DMA_COHERENT)
-               prot |= IOMMU_CACHE;
 
        while (eaddr > vma->vm_end) {
                if (!!(vma->vm_flags & VM_PFNMAP)) {