public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Marin Mitov <mitov@issp.bas.bg>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: [RFC][PATCH] add dma_reserve_coherent_memory()/dma_free_reserved_memory() API
Date: Fri, 20 Aug 2010 14:50:12 +0300	[thread overview]
Message-ID: <201008201450.12585.mitov@issp.bas.bg> (raw)
In-Reply-To: <20100820173349E.fujita.tomonori@lab.ntt.co.jp>

On Friday, August 20, 2010 11:35:06 am FUJITA Tomonori wrote:
> On Fri, 20 Aug 2010 11:13:45 +0300
> Marin Mitov <mitov@issp.bas.bg> 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?

Yes. We just need contiguous memory. Coherency is important as far as when dma
transfer finishes user land is able to see the new data. Could be done by something like
dma_{,un}map_single()

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

Sure, but in any case videobuf-dma-contig framework in drivers/media/video
is already built around dma-coherent (nevertheless it is precious), so the two new
functions are just a helpful extension to the existing use of dma-coherent memory.

In any case, as far as these two functions will be mainly used by media/video folks
they could be added not to the drivers/base/dma-coherent.c (where I see their place),
but to drivers/media/video/videobuf-dma-contig.c. In that case the disadvantage will be
that if someone out of the media tree will need this functionality he(she) will need to
compile media/videobuf-dma-contig.c
> 
> 
> > > 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) 

Yes.

> 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.

That will help. I will be happy if someone can do it. I am inpaciently waiting for 
alloc_huhepages()/free_hugepages() API - (transparent hugepages patches, may be)
That also could be a solution for media/video folks with hardware that cannot do 
scatter/gatter. Another solution will be an IOMMU that could present a scattered
user land buffer as contiguous dma address range (I have played in the past with 
AGP-GART without great success).

Thanks.

Marin Mitov

 

  reply	other threads:[~2010-08-20 11:51 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-19 15:18 [RFC][PATCH] add dma_reserve_coherent_memory()/dma_free_reserved_memory() API Marin Mitov
2010-08-20  7:17 ` FUJITA Tomonori
2010-08-20  8:13   ` Marin Mitov
2010-08-20  8:35     ` FUJITA Tomonori
2010-08-20 11:50       ` Marin Mitov [this message]
2010-08-26  5:40         ` FUJITA Tomonori
2010-08-26  6:04           ` Marin Mitov
2010-08-26  6:24             ` FUJITA Tomonori
2010-08-26  7:01               ` Marin Mitov
2010-08-26  9:43                 ` FUJITA Tomonori
2010-08-26 10:14                   ` Marin Mitov
2010-08-26  9:06               ` Guennadi Liakhovetski
2010-08-26  9:17                 ` Uwe Kleine-König
2010-08-26 10:18                   ` Marin Mitov
2010-08-26  9:30                 ` FUJITA Tomonori
2010-08-26  9:45                   ` Guennadi Liakhovetski
2010-08-26  9:51                     ` FUJITA Tomonori
2010-08-26 17:49                       ` Russell King - ARM Linux
2010-08-26 18:32                         ` Marin Mitov
2010-08-26  9:53                   ` Uwe Kleine-König
2010-08-26 10:00                     ` FUJITA Tomonori
2010-08-26 17:54                       ` Russell King - ARM Linux
2010-08-27  0:26                         ` FUJITA Tomonori
2010-08-27  4:41                       ` Uwe Kleine-König
2010-08-27  5:00                         ` FUJITA Tomonori
2010-08-27  5:19                           ` Uwe Kleine-König
2010-08-27  5:57                             ` FUJITA Tomonori
2010-08-27  6:13                               ` Uwe Kleine-König
2010-08-27  6:23                               ` Marin Mitov
2010-08-27  6:32                                 ` FUJITA Tomonori
2010-08-27  6:38                                   ` Uwe Kleine-König
2010-08-27  7:02                                   ` Marin Mitov
2010-08-28  6:14                                   ` Marin Mitov
2010-08-28  7:10                                     ` FUJITA Tomonori
2010-08-28  7:19                                       ` Marin Mitov
2010-10-10 14:08         ` FUJITA Tomonori
2010-10-10 14:36           ` Marin Mitov
2010-10-10 18:21             ` Guennadi Liakhovetski
2010-10-10 18:48               ` Marin Mitov
2010-10-13  8:04           ` KAMEZAWA Hiroyuki
2010-10-13 16:42             ` Marin Mitov
2010-10-14  7:16               ` FUJITA Tomonori
2010-08-20 20:05 ` Guennadi Liakhovetski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201008201450.12585.mitov@issp.bas.bg \
    --to=mitov@issp.bas.bg \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox