[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190830145935.GA19838@lst.de>
Date: Fri, 30 Aug 2019 16:59:35 +0200
From: Christoph Hellwig <hch@....de>
To: Russell King - ARM Linux admin <linux@...linux.org.uk>
Cc: Christoph Hellwig <hch@....de>, iommu@...ts.linux-foundation.org,
Robin Murphy <robin.murphy@....com>,
linux-arm-kernel@...ts.infradead.org,
linux-xtensa@...ux-xtensa.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/4] vmalloc: lift the arm flag for coherent mappings
to common code
On Fri, Aug 30, 2019 at 10:29:18AM +0100, Russell King - ARM Linux admin wrote:
> On Fri, Aug 30, 2019 at 08:29:21AM +0200, Christoph Hellwig wrote:
> > The arm architecture had a VM_ARM_DMA_CONSISTENT flag to mark DMA
> > coherent remapping for a while. Lift this flag to common code so
> > that we can use it generically. We also check it in the only place
> > VM_USERMAP is directly check so that we can entirely replace that
> > flag as well (although I'm not even sure why we'd want to allow
> > remapping DMA appings, but I'd rather not change behavior).
>
> Good, because if you did change that behaviour, you'd break almost
> every ARM framebuffer and cripple ARM audio drivers.
How would that break them? All the usual video and audio drivers that
use dma_alloc_* then use dma_mmap_* which never end up in the only place
that actually checks VM_USERMAP (remap_vmalloc_range_partial) as they
end up in the dma_map_ops mmap methods which contain what is effecitvely
open coded versions of that routine. There are very few callers of
remap_vmalloc_range_partial / remap_vmalloc_range, and while a few of
those actually are in media drivers and the virtual frame buffer video
driver, none of these seems to be called on dma memory (which would
be a layering violation anyway).
Powered by blists - more mailing lists