[lkml]   [2010]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC][PATCH] add dma_reserve_coherent_memory()/dma_free_reserved_memory() API
On Fri, 20 Aug 2010 11:13:45 +0300
Marin Mitov <> wrote:

> > > This tric is already used in drivers/staging/dt3155v4l.c
> > > dt3155_alloc_coherent()/dt3155_free_coherent()
> > >
> > > Here proposed for general use by popular demand from video4linux folks.
> > > Helps for videobuf-dma-contig framework.
> >
> > What you guys exactly want to do? If you just want to pre-allocate
> > coherent memory for latter usage,
> Yes, just to preallocate not coherent, but rather contiguous memory for latter usage.
> We use coherent memory because it turns out to be contiguous.

Hmm, you don't care about coherency? You just need contiguous memory?

Then, I prefer to invent the API to allocate contiguous
memory. Coherent memory is precious on some arches.

> > why dma_pool API (mm/dmapool.c) doesn't work?
> I do not know why dma_pool API doesn't work for frame grabber buffers.
> May be they are too big ~400KB. I have tried dma_pool APIs without success
> some time ago, so I had to find some other way to solve my problem leading to
> the proposed dma_reserve_coherent_memory()/dma_free_reserved_memory().

I think that dma_pool API is for small coherent memory (smaller than
PAGE_SIZE) so it might not work for you. However, the purpose of
dma_pool API is exactly for what you want to do, creating a pool for
coherent memory per device for drivers.

I don't see any reason why we can't extend the dma_pool API for your
case. And it looks better to me rather than inventing the new API.

 \ /
  Last update: 2010-08-20 10:39    [W:0.078 / U:5.432 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site