fsldma: major cleanups and fixes
authorIra Snyder <iws@ovro.caltech.edu>
Wed, 6 Jan 2010 13:34:06 +0000 (13:34 +0000)
committerDan Williams <dan.j.williams@intel.com>
Tue, 2 Feb 2010 21:51:42 +0000 (14:51 -0700)
commit9c3a50b7d7ec45da34e73cac66cde12dd6092dd8
treea16b2dd972ba8ebdd9e6796ad8f0027513316f49
parenta1c03319018061304be28d131073ac13a5cb86fb
fsldma: major cleanups and fixes

Fix locking. Use two queues in the driver, one for pending transacions, and
one for transactions which are actually running on the hardware. Call
dma_run_dependencies() on descriptor cleanup so that the async_tx API works
correctly.

There are a number of places throughout the code where lists of descriptors
are freed in a loop. Create functions to handle this, and use them instead
of open-coding the loop each time.

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