summaryrefslogtreecommitdiff
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)
downloadqemu-e1dad5a615fb4a2d5cd43cbc0fc42f6a0d35f2e9.tar.gz
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) {