linux/drivers/dma
Dan Williams d379b01e90 dmaengine: make clients responsible for managing channels
The current implementation assumes that a channel will only be used by one
client at a time.  In order to enable channel sharing the dmaengine core is
changed to a model where clients subscribe to channel-available-events.
Instead of tracking how many channels a client wants and how many it has
received the core just broadcasts the available channels and lets the
clients optionally take a reference.  The core learns about the clients'
needs at dma_event_callback time.

In support of multiple operation types, clients can specify a capability
mask to only be notified of channels that satisfy a certain set of
capabilities.

Changelog:
* removed DMA_TX_ARRAY_INIT, no longer needed
* dma_client_chan_free -> dma_chan_release: switch to global reference
  counting only at device unregistration time, before it was also happening
  at client unregistration time
* clients now return dma_state_client to dmaengine (ack, dup, nak)
* checkpatch.pl fixes
* fixup merge with git-ioat

Cc: Chris Leech <christopher.leech@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: David S. Miller <davem@davemloft.net>
2007-07-13 08:06:13 -07:00
..
dmaengine.c dmaengine: make clients responsible for managing channels 2007-07-13 08:06:13 -07:00
ioatdma_hw.h
ioatdma_registers.h [IOAT]: fix sparse ulong warning 2006-07-03 19:24:19 -07:00
ioatdma.c dmaengine: make clients responsible for managing channels 2007-07-13 08:06:13 -07:00
ioatdma.h dmaengine: make clients responsible for managing channels 2007-07-13 08:06:13 -07:00
iovlock.c [IOAT]: drivers/dma/iovlock.c: make num_pages_spanned() static 2006-07-03 19:27:20 -07:00
Kconfig [S390] Kconfig: unwanted menus for s390. 2007-05-10 15:46:07 +02:00
Makefile