diff options
author | Vinod Koul <vinod.koul@intel.com> | 2016-01-06 15:17:47 +0530 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-01-06 15:17:47 +0530 |
commit | d3f1e93ce8e00be19711c35f0c67c54a58aea559 (patch) | |
tree | 58010cdfa4fc473fc0693410b4a444755c4438c9 /Documentation/dmaengine/provider.txt | |
parent | 7c7b680fa6b0866af2c4876da261bbfe710315d6 (diff) | |
parent | b1d6ab1aa8cdc23b89bcd578ea8d5e3c501a13d9 (diff) |
Merge branch 'topic/async' into for-linus
Diffstat (limited to 'Documentation/dmaengine/provider.txt')
-rw-r--r-- | Documentation/dmaengine/provider.txt | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/Documentation/dmaengine/provider.txt b/Documentation/dmaengine/provider.txt index 67d4ce4df109..122b7f4876bb 100644 --- a/Documentation/dmaengine/provider.txt +++ b/Documentation/dmaengine/provider.txt @@ -327,8 +327,24 @@ supported. * device_terminate_all - Aborts all the pending and ongoing transfers on the channel - - This command should operate synchronously on the channel, - terminating right away all the channels + - For aborted transfers the complete callback should not be called + - Can be called from atomic context or from within a complete + callback of a descriptor. Must not sleep. Drivers must be able + to handle this correctly. + - Termination may be asynchronous. The driver does not have to + wait until the currently active transfer has completely stopped. + See device_synchronize. + + * device_synchronize + - Must synchronize the termination of a channel to the current + context. + - Must make sure that memory for previously submitted + descriptors is no longer accessed by the DMA controller. + - Must make sure that all complete callbacks for previously + submitted descriptors have finished running and none are + scheduled to run. + - May sleep. + Misc notes (stuff that should be documented, but don't really know where to put them) |