summaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-kmem.c
diff options
context:
space:
mode:
authorRobert Jarzmik2016-07-10 23:50:49 +0200
committerVinod Koul2016-07-23 12:37:29 +0200
commit7d604663255ac757ab4b0e17f533cba136486551 (patch)
tree593d64dd9bb2a23a7e53ae2a0a51f35ccc0b7af0 /tools/perf/builtin-kmem.c
parentdmaengine: imx-sdma: remove assignment never used (diff)
downloadkernel-qcow2-linux-7d604663255ac757ab4b0e17f533cba136486551.tar.gz
kernel-qcow2-linux-7d604663255ac757ab4b0e17f533cba136486551.tar.xz
kernel-qcow2-linux-7d604663255ac757ab4b0e17f533cba136486551.zip
dmaengine: pxa_dma: implement device_synchronize
Implement the function which wait until a dma channel is stopped to have a synchronization point. This also protects the pxad_remove() from races, such as spurious interrupts while removing the driver, because : - as long as there is one dma channel requested, ie. dma_chan_get() but no dma_chan_put(), the try_module_get() of dma_chan_get() prevents the remove() routine from running - when the last channel is released, ie. the last dma_chan_put() is called, if there is a running DMA, pxad_synchronize() is called - pxad_synchronize() waits for the channel to stop, which in turn ensures on pxa architecture that the interrupt cannot be fired anymore Reported-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'tools/perf/builtin-kmem.c')
0 files changed, 0 insertions, 0 deletions