fsldma: support async_tx dependencies and automatic unmapping
authorIra Snyder <iws@ovro.caltech.edu>
Thu, 3 Mar 2011 07:54:59 +0000 (07:54 +0000)
committerDan Williams <dan.j.williams@intel.com>
Sat, 12 Mar 2011 01:52:37 +0000 (17:52 -0800)
commit9c4d1e7bdeb1ed4dc0c3341d40662a6fbc5f2dc2
tree1139343b541dea7344c4436065ea5960eccad844
parentf04cd40701deace2efb9edd7120e59366bda2118
fsldma: support async_tx dependencies and automatic unmapping

Previous to this patch, the dma_run_dependencies() function has been
called while holding desc_lock. This function can call tx_submit() for
other descriptors, which may try to re-grab the lock. Avoid this by
moving the descriptors to be cleaned up to a temporary list, and
dropping the lock before cleanup.

At the same time, add support for automatic unmapping of src and dst
buffers, as offered by the DMAEngine API.

Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/fsldma.c