Re: [PATCH 1/5] iommu/omap: Use the cache cleaning API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Arnd,

On Friday 14 March 2014 17:57:48 Arnd Bergmann wrote:
> On Friday 14 March 2014, Santosh Shilimkar wrote:
> > I remember NAKing this approach in past and my stand remains same. The
> > cache APIs which you are trying to use here are not suppose to be used
> > outside.
> > 
> > I think the right way to fix this is to make use of streaming APIs.
> > If needed, IOMMU can have its own dma_ops for special case handling if
> > any.
> > 
> > Russell, Arnd might have more ideas.
> 
> I have a bad feeling about using the dma-mapping API within the IOMMU code,
> because that driver is also used to implement the dma-mapping API for
> devices attached to the IOMMU. It's possible that it just works.

Right, but I hope the memory port used by the IOMMU to fetch page table 
entries will not go through itself the same IOMMU :-)

> Is the IOMMU actually designed to have page tables in noncoherent memory? I
> would have expected that the iopt accesses must all be done on
> dma_alloc_coherent() provided memory to guarantee proper accesses.

I'm not knowledgeable enough about the OMAP IOMMU, but at least the Renesas 
IOMMU doesn't need coherent memory as long as the driver makes sure that 
changes to the page tables are made visible to the device. That IOMMU can also 
use the DVM hardware coherency protocols on a cache coherent interconnect, but 
I haven't investigated that yet.

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux