[lkml]   [2008]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2/4 v1] i.MX31: Image Processing Unit DMA and IRQ drivers
Hi Dan,

On Tue, 11 Nov 2008, Dan Williams wrote:

> On Tue, Nov 11, 2008 at 2:36 AM, Guennadi Liakhovetski
> <> wrote:
> > I still have no solution to this ->client_count problem. Is this a bug and
> > there should be a way to release a channel (including decrementint the
> > client_count) without unregistering the client, or am I missing something?
> >
> Hi Guennadi,
> I am currently working on improving this situation:
> Please have a look.

Thanks for the pointer, I looked at it.

1. ASYNC_TX_ACK: one either sets this flag immediately on a descriptor in
flags for ->device_prep_dma_memcpy() (like in
dma_async_memcpy_buf_to_buf()), which would mean "may be recycled
automatically" or you don't set it, then the descriptor is kept, until you
call async_tx_ack() on it. Are you going to preserve the async_tx_ack()
implementation? In this case dma-device drivers have to scan their
descriptors to do garbage-collection?... Wouldn't it be better to
introduce an explicit call to free a descriptor, like in this my patch: (see the last
hank for include/linux/dmaengine.h)?

2. channel client-count: am I right, that with the current implementation
one cannot free a channel in a way, that its client_count got decremented,
and the ->device_free_chan_resources() method be called for it? Is this
going to be addressed too or I am missing something and channel freeing
has to be done differently?

3. you write

> 3b/ Remove the client registration infrastructure

which means, there should be an interface to free a channel explicitly?
because until now unregistering the client was the only way (that I found)
to free channels...

Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer

 \ /
  Last update: 2008-11-11 19:15    [W:0.027 / U:1.112 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site