Russell King - ARM Linux
2014-Jun-26 16:10 UTC
[Nouveau] [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers
On Thu, Jun 26, 2014 at 11:53:20PM +0900, Alexandre Courbot wrote:> We don't plan to rely on CMA for too long. IOMMU support is on the way > and should make our life easier, although no matter the source of > memory, we will still have the issue of the lowmem mappings.When it comes to DMA memory, talking about lowmem vs highmem is utterly meaningless. The lowmem/highmem split is entirely a software concept and is completely adjustable. An extreme example is that you can boot any platform with more than 32MB of memory with 32MB of lowmem and the remainder as highmem. -- FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly improving, and getting towards what was expected from it.
Alexandre Courbot
2014-Jun-26 23:17 UTC
[Nouveau] [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers
On Fri, Jun 27, 2014 at 1:10 AM, Russell King - ARM Linux <linux at arm.linux.org.uk> wrote:> On Thu, Jun 26, 2014 at 11:53:20PM +0900, Alexandre Courbot wrote: >> We don't plan to rely on CMA for too long. IOMMU support is on the way >> and should make our life easier, although no matter the source of >> memory, we will still have the issue of the lowmem mappings. > > When it comes to DMA memory, talking about lowmem vs highmem is utterly > meaningless. > > The lowmem/highmem split is entirely a software concept and is completely > adjustable. An extreme example is that you can boot any platform with > more than 32MB of memory with 32MB of lowmem and the remainder as > highmem.True, but isn't it also the case that all lowmem is already mapped in the kernel address space, and that re-mapping this memory with different cache settings (e.g. by creating a WC mapping for user-space to write into) is undefined on ARM and must be avoided? That is the issue I was referring to.
Rob Clark
2014-Jun-27 12:08 UTC
[Nouveau] [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers
On Thu, Jun 26, 2014 at 7:17 PM, Alexandre Courbot <gnurou at gmail.com> wrote:> On Fri, Jun 27, 2014 at 1:10 AM, Russell King - ARM Linux > <linux at arm.linux.org.uk> wrote: >> On Thu, Jun 26, 2014 at 11:53:20PM +0900, Alexandre Courbot wrote: >>> We don't plan to rely on CMA for too long. IOMMU support is on the way >>> and should make our life easier, although no matter the source of >>> memory, we will still have the issue of the lowmem mappings. >> >> When it comes to DMA memory, talking about lowmem vs highmem is utterly >> meaningless. >> >> The lowmem/highmem split is entirely a software concept and is completely >> adjustable. An extreme example is that you can boot any platform with >> more than 32MB of memory with 32MB of lowmem and the remainder as >> highmem. > > True, but isn't it also the case that all lowmem is already mapped in > the kernel address space, and that re-mapping this memory with > different cache settings (e.g. by creating a WC mapping for user-space > to write into) is undefined on ARM and must be avoided? That is the > issue I was referring to. >dma memory should be removed from the kernel linear map (if needed).. assuming it is allocated w/ dma api's. btw, something I've been wondering for a little while, but haven't had time to investigate. Not sure if this applies to you as well. But seems like I have IOMMU's which can be outer-coherent (snoop L2), but I *think* they are not inner-coherent (L1). No idea if current dma memory code can grok this and only do inner-cache op's.. BR, -R> _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Reasonably Related Threads
- [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers
- [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers
- [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers
- [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers
- [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers