Messages in this thread | | | Date | Tue, 30 Apr 2019 17:18:33 +0200 | From | Christoph Hellwig <> | Subject | Re: [RFC/RFT PATCH 1/2] dma-contiguous: Simplify dma_*_from_contiguous() function calls |
| |
On Tue, Apr 30, 2019 at 01:37:54PM +0100, Robin Murphy wrote: > On 30/04/2019 11:56, Christoph Hellwig wrote: >> So while I really, really like this cleanup it turns out it isn't >> actually safe for arm :( arm remaps the CMA allocation in place >> instead of using a new mapping, which can be done because they don't >> share PMDs with the kernel. >> >> So we'll probably need a __dma_alloc_from_contiguous version with >> an additional bool fallback argument - everyone but arms uses >> dma_alloc_from_contiguous as in your patch, just arm will get the >> non-fallback one. > > Or we even just implement dma_{alloc,free}_contiguous() as a wrapper around > the existing APIs so that users can be thoroughly checked and converted > one-by-one.
Yeah. Actually given all the contention I wonder if the easiest solution for now is to just open code the cma_alloc/cma_free calls in dma-direct and dma-iommu, with the hopes that everyone is going to migrate to those implementations in the mid-term anyway and dma_alloc_from_contiguous / dma_release_from_contiguous just go away..
| |