summaryrefslogtreecommitdiff
path: root/hw/dma
diff options
context:
space:
mode:
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>2013-04-16 10:26:37 +1000
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2013-04-16 10:04:23 +0200
commit210914e29975d17e635f9e8c1f7478c0ed7a208f (patch)
tree29f66bd4a70e2931865a329f2c2fc3b79c4a8d11 /hw/dma
parente1500e35c22be345cd04f77fa6993770b689eaa9 (diff)
downloadqemu-210914e29975d17e635f9e8c1f7478c0ed7a208f.tar.gz
xilinx_axidma: Fix rx/tx halted bit.
If there is no DMA buffer descriptor, the DMA halts, not idles. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'hw/dma')
-rw-r--r--hw/dma/xilinx_axidma.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c
index 02700ea4bd..2bbfea1503 100644
--- a/hw/dma/xilinx_axidma.c
+++ b/hw/dma/xilinx_axidma.c
@@ -276,7 +276,7 @@ static void stream_process_mem2s(struct Stream *s,
stream_desc_load(s, s->regs[R_CURDESC]);
if (s->desc.status & SDESC_STATUS_COMPLETE) {
- s->regs[R_DMASR] |= DMASR_IDLE;
+ s->regs[R_DMASR] |= DMASR_HALTED;
break;
}
@@ -331,7 +331,7 @@ static void stream_process_s2mem(struct Stream *s,
stream_desc_load(s, s->regs[R_CURDESC]);
if (s->desc.status & SDESC_STATUS_COMPLETE) {
- s->regs[R_DMASR] |= DMASR_IDLE;
+ s->regs[R_DMASR] |= DMASR_HALTED;
break;
}