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

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

 



On 03/17/2014 06:12 PM, Laurent Pinchart wrote:
> 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 is the case with OMAP IOMMU as well, we have all along been using
non-coherent memory. Switching to coherent memory will probably simplify
things in the IOMMU driver (and eliminate this discussion on OMAP :))

regards
Suman
--
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