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,
	akpm@linux-foundation.org
Subject: Re: [RFC][PATCH] add dma_reserve_coherent_memory()/dma_free_reserved_memory() API
Date: Thu, 26 Aug 2010 13:14:51 +0300	[thread overview]
Message-ID: <201008261314.56782.mitov@issp.bas.bg> (raw)
In-Reply-To: <20100826184231J.fujita.tomonori@lab.ntt.co.jp>

On Thursday, August 26, 2010 12:43:22 pm FUJITA Tomonori wrote:
> On Thu, 26 Aug 2010 10:01:52 +0300
> Marin Mitov <mitov@issp.bas.bg> wrote:
> 
> > > If you add something to the videobuf-dma-contig API, that's fine by me
> > > because drivers/media/video/videobuf-dma-contig.c uses the own
> > > structure and plays with dma_alloc_coherent. As long as a driver
> > > doesn't touch device->dma_mem directly, it's fine, 
> > 
> > Why, my understanding is that device->dma_mem is designed exactly for keeping 
> > some chunk of coherent memory for device's private use via dma_alloc_from_coherent()
> > (and that is what dt3155v4l driver is using it for).
> 
> I don't think so. device->dma_mem can be accessed only via the
> DMA-API. I think that the DMA-API says that
> dma_declare_coherent_memory declares coherent memory that can be
> access exclusively by a certain device. 

Here I agree with you: "that can be access exclusively by a certain device"

> It's not for reserving
> coherent memory that can be used for any device for a device.

Here I disagree with you: "that can be used for any device for a device".
Reserved coherent memory can be only and exclusively used by 
the __same__ device whose device->dma_mem is touched. No other devices 
are influenced because their device->dma_mem are NULL. and 
dma_alloc_from_coherent() is not invoked for them. That is why I think
this hack is not dangerous. If some device driver decide to reserve some
chunk of memory it is for its private use and no other device in the system
is influenced.

> 
> Anway, you don't need coherent memory. So using the API for coherent
> memory isn't a good idea.

Here I agree with you, but for now we have no alternative in media/video
framework.

> 
> 
> > > There are already some workarounds for
> > > contigous memory in several drivers anyway.
> > 
> > Sure, can these workarounds be exposed as API for general use?
> 
> I don't think that's a good idea. Adding temporary workaround to the
> generic API and removing it soon after that doesn't sound a good
> developing maner.

Yes, it is just a temporary solution. Just enhancing an existing temporary solution.

Thanks,

Marin Mitov

> 

  reply	other threads:[~2010-08-26 10:16 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
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 [this message]
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=201008261314.56782.mitov@issp.bas.bg \
    --to=mitov@issp.bas.bg \
    --cc=akpm@linux-foundation.org \
    --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