linux/Documentation
Dan Williams 28405d8d9c async_tx, dmaengine: document channel allocation and api rework
"Wouldn't it be better if the dmaengine layer made sure it didn't pass
the same channel several times to a client?

I mean, you seem concerned that the memcpy() API should be transparent
and easy to use, but the whole registration interface is just
ridiculously complicated..."
	- Haavard

The dmaengine and async_tx registration/allocation interface is indeed
needlessly complicated.  This redesign has the following goals:

1/ Simplify reference counting: dma channels are not something one would
   expect to be hotplugged, it should be an exceptional event handled by
   drivers not something clients should be mandated to handle in a
   callback.  The common case channel removal event is 'rmmod <dma driver>',
   which for simplicity should be disallowed if the channel is in use.
2/ Add an interface for requesting exclusive access to a channel
   suitable to device-to-memory users.
3/ Convert all memory-to-memory users over to a common allocator, the goal
   here is to not have competing channel allocation schemes.  The only
   competition should be between device-to-memory exclusive allocations and
   the memory-to-memory usage case where channels are shared between
   multiple "clients".

Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Jeff Garzik <jeff@garzik.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-01-05 18:10:19 -07:00
..
2008-10-30 11:38:45 -07:00
2008-10-30 11:38:45 -07:00
2008-10-30 11:38:45 -07:00
2008-10-16 11:21:30 -07:00
2008-11-12 17:17:17 -08:00
2008-10-30 15:55:47 +01:00
2008-10-30 11:38:45 -07:00
2008-12-09 15:59:07 +02:00
2008-10-30 11:38:47 -07:00
2008-10-29 15:03:50 -07:00
2008-10-23 00:11:07 -04:00
2008-10-30 11:38:45 -07:00
2008-10-16 11:21:29 -07:00
2008-10-30 11:38:45 -07:00
2008-11-12 17:17:18 -08:00
2008-10-30 11:38:45 -07:00
2008-07-25 10:53:30 -07:00
2008-11-12 17:17:18 -08:00
2008-11-14 10:39:26 +11:00
2009-01-02 16:12:51 +01:00
2008-11-28 13:15:14 +01:00
2008-10-16 11:21:40 -07:00
2008-10-20 15:43:10 +02:00
2008-08-12 16:07:30 -07:00
2008-07-21 14:22:18 +10:00
2008-11-12 17:17:17 -08:00