On Mon, Aug 05, 2019 at 07:55:44PM -0700, Gavin Li wrote: > > /* create a coherent mapping */ > > ret = dma_common_contiguous_remap(page, size, VM_USERMAP, > > - arch_dma_mmap_pgprot(dev, PAGE_KERNEL, attrs), > > + dma_pgprot(dev, PAGE_KERNEL, attrs), > > __builtin_return_address(0)); > > if (!ret) { > > __dma_direct_free_pages(dev, size, page); > > Is dma_common_contiguous_remap() still necessary in the > DMA_ATTR_NON_CONSISTENT case? I would presume it would be fine to just > return a linearly mapped address in that case.
It would not be required for a real DMA_ATTR_NON_CONSISTENT implementation. But only parisc and mips actually properly implement DMA_ATTR_NON_CONSISTENT, everyone ignores it. Given that the API is a little ill defined and I have a better replacement in the pipeline I don't want to start implementing it for other architectures now.