summary refs log tree commit diff stats
path: root/hw/pxa2xx_dma.c
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-11-17 18:43:47 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2007-11-17 18:43:47 +0000
commite1dad5a615fb4a2d5cd43cbc0fc42f6a0d35f2e9 (patch)
tree683799618318bd70cc7505aa14d604ff164c0c01 /hw/pxa2xx_dma.c
parent749bc4bf0bcd36e38b86d75a98f287f1941394cb (diff)
downloadfocaccia-qemu-e1dad5a615fb4a2d5cd43cbc0fc42f6a0d35f2e9.tar.gz
focaccia-qemu-e1dad5a615fb4a2d5cd43cbc0fc42f6a0d35f2e9.zip
Better STOPINTR bit semantics in the PXA2xx DMA.
Don't error out on reading GPCR register, just warn (Thorsten Zitterell).
Don't zero a memory that's already zeroed.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3676 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/pxa2xx_dma.c')
-rw-r--r--hw/pxa2xx_dma.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/pxa2xx_dma.c b/hw/pxa2xx_dma.c
index 23bdae909b..4e33c53173 100644
--- a/hw/pxa2xx_dma.c
+++ b/hw/pxa2xx_dma.c
@@ -348,8 +348,10 @@ static void pxa2xx_dma_write(void *opaque,
 
         if (value & DCSR_NODESCFETCH) {
             /* No-descriptor-fetch mode */
-            if (value & DCSR_RUN)
+            if (value & DCSR_RUN) {
+                s->chan[channel].state &= ~DCSR_STOPINTR;
                 pxa2xx_dma_run(s);
+            }
         } else {
             /* Descriptor-fetch mode */
             if (value & DCSR_RUN) {