Re: [PATCH 03/13] dmaengine: up-level reference counting to the module level

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Guennadi Liakhovetski
Date: Thursday, December 4, 2008 - 9:56 am

On Fri, 14 Nov 2008, Dan Williams wrote:


Dan, could you please explain this: dma_chan_get() takes a reference on 
the channel _and_ calls .device_alloc_chan_resources() on first invocation 
for a specific channel. I now see three locations in dmaengine.c, where 
dma_chan_get() is called: in dma_request_channel() - logical, but also in 
dmaengine_get() and dma_async_device_register(), and these latter two I 
don't understand. I do not understand why we have to grab references and 
allocate resources for all (public) channels on all controllers in the 
system if someone just called dmaengine_get()?


This is the second location - where and how are clients waiting for 
channels? In the old implementation clients had notification callbacks, 
which were called as new channels became available. Now clients are gone, 
so, what is meant here?

Confused
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/13] dmaengine redux, Dan Williams, (Fri Nov 14, 2:34 pm)
[PATCH 02/13] dmaengine: remove dependency on async_tx, Dan Williams, (Fri Nov 14, 2:34 pm)
[PATCH 06/13] net_dma: convert to dma_find_channel, Dan Williams, (Fri Nov 14, 2:34 pm)
[PATCH 08/13] dmatest: convert to dma_request_channel, Dan Williams, (Fri Nov 14, 2:34 pm)
[PATCH 12/13] dmaengine: remove 'bigref' infrastructure, Dan Williams, (Fri Nov 14, 2:35 pm)
[PATCH 13/13] dmaengine: kill enum dma_state_client, Dan Williams, (Fri Nov 14, 2:35 pm)
Re: [PATCH 02/13] dmaengine: remove dependency on async_tx, Andrew Morton, (Fri Nov 14, 11:02 pm)
Re: [PATCH 08/13] dmatest: convert to dma_request_channel, Andrew Morton, (Fri Nov 14, 11:17 pm)
Re: [PATCH 08/13] dmatest: convert to dma_request_channel, Dan Williams, (Tue Nov 18, 11:24 am)
Re: [PATCH 08/13] dmatest: convert to dma_request_channel, Andrew Morton, (Tue Nov 18, 1:58 pm)
Re: [PATCH 07/13] dmaengine: introduce dma_request_channel ..., Guennadi Liakhovetski, (Tue Dec 2, 8:52 am)
Re: [PATCH 07/13] dmaengine: introduce dma_request_channel ..., Guennadi Liakhovetski, (Tue Dec 2, 10:27 am)
Re: [PATCH 07/13] dmaengine: introduce dma_request_channel ..., Guennadi Liakhovetski, (Tue Dec 2, 2:28 pm)
Re: [PATCH 03/13] dmaengine: up-level reference counting t ..., Guennadi Liakhovetski, (Thu Dec 4, 9:56 am)
Re: [PATCH 03/13] dmaengine: up-level reference counting t ..., Guennadi Liakhovetski, (Thu Dec 4, 12:28 pm)
RE: [PATCH 00/13] dmaengine redux, Sosnowski, Maciej, (Fri Dec 12, 7:27 am)
RE: [PATCH 03/13] dmaengine: up-level reference counting t ..., Sosnowski, Maciej, (Fri Dec 12, 7:28 am)
RE: [PATCH 07/13] dmaengine: introduce dma_request_channel ..., Sosnowski, Maciej, (Fri Dec 12, 7:29 am)
RE: [PATCH 11/13] dmaengine: kill struct dma_client and su ..., Sosnowski, Maciej, (Fri Dec 12, 7:29 am)
RE: [PATCH 03/13] dmaengine: up-level reference counting t ..., Sosnowski, Maciej, (Thu Dec 18, 7:26 am)
RE: [PATCH 07/13] dmaengine: introduce dma_request_channel ..., Sosnowski, Maciej, (Thu Dec 18, 7:33 am)
RE: [PATCH 11/13] dmaengine: kill struct dma_client and su ..., Sosnowski, Maciej, (Thu Dec 18, 7:34 am)
Re: [PATCH 07/13] dmaengine: introduce dma_request_channel ..., Guennadi Liakhovetski, (Fri Jan 30, 4:27 pm)