• Dan Williams's avatar
    async_tx, dmaengine: document channel allocation and api rework · 28405d8d
    Dan Williams authored
    "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,...
    28405d8d
dmaengine.txt 42 Bytes