diff options
author | Damien.Horsley <Damien.Horsley@imgtec.com> | 2015-12-10 15:07:23 +0000 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2015-12-18 11:12:29 +0530 |
commit | 0c328de77148ddccaa7a2c31f5751e4d443c213b (patch) | |
tree | 9f44db2ab2fd46006f971b7c88a13cdbd24e7227 /drivers/dma/imx-sdma.c | |
parent | 4fa2d09c1ae879c2ee2760ab419a4f97026dd97b (diff) |
dmaengine: mdc: Correct terminate_all handling
Use of the CANCEL bit in mdc_terminate_all creates an
additional 'command done' to appear in the registers (in
addition to an interrupt).
In addition, there is a potential race between
mdc_terminate_all and the irq handler if a transfer
completes at the same time as the terminate all (presently
this results in an inappropriate warning).
To handle these issues, any outstanding 'command done'
events are cleared during mdc_terminate_all and the irq
handler takes no action when there are no new 'command done'
events.
Signed-off-by: Damien.Horsley <Damien.Horsley@imgtec.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/imx-sdma.c')
0 files changed, 0 insertions, 0 deletions