dma: edma: Write out and handle MAX_NR_SG at a given time
authorJoel Fernandes <joelf@ti.com>
Tue, 3 Sep 2013 15:02:46 +0000 (10:02 -0500)
committerVinod Koul <vinod.koul@intel.com>
Wed, 4 Sep 2013 13:08:46 +0000 (18:38 +0530)
commit534070622d2c7fbc5cc929aa93541ccd0ae52ab1
tree30bd34589b97c189ae86a5a4b0f12f11b1e5379d
parent6fbe24da828ff344372c38441156caefc4a51b3e
dma: edma: Write out and handle MAX_NR_SG at a given time

Process SG-elements in batches of MAX_NR_SG if they are greater
than MAX_NR_SG. Due to this, at any given time only those many
slots will be used in the given channel no matter how long the
scatter list is. We keep track of how much has been written
inorder to process the next batch of elements in the scatter-list
and detect completion.

For such intermediate transfer completions (one batch of MAX_NR_SG),
make use of pause and resume functions instead of start and stop
when such intermediate transfer is in progress or completed as we
donot want to clear any pending events.

Signed-off-by: Joel Fernandes <joelf@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/edma.c