OSDN Git Service

dma/xlnx-zdma: Clear DMA_DONE when halting
authorEdgar E. Iglesias <edgar.iglesias@xilinx.com>
Thu, 2 Apr 2020 13:47:19 +0000 (15:47 +0200)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 6 Apr 2020 09:59:56 +0000 (10:59 +0100)
Clear DMA_DONE when halting the DMA channel.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200402134721.27863-4-edgar.iglesias@gmail.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/dma/xlnx-zdma.c

index 6a46997..dd893bc 100644 (file)
@@ -520,6 +520,7 @@ static void zdma_process_descr(XlnxZDMA *s)
     if (src_cmd == CMD_HALT) {
         zdma_set_state(s, PAUSED);
         ARRAY_FIELD_DP32(s->regs, ZDMA_CH_ISR, DMA_PAUSE, 1);
+        ARRAY_FIELD_DP32(s->regs, ZDMA_CH_ISR, DMA_DONE, false);
         zdma_ch_imr_update_irq(s);
         return;
     }