diff options
Diffstat (limited to 'hw/pxa2xx_dma.c')
-rw-r--r-- | hw/pxa2xx_dma.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/hw/pxa2xx_dma.c b/hw/pxa2xx_dma.c index 53bce2e46..4e33c5317 100644 --- a/hw/pxa2xx_dma.c +++ b/hw/pxa2xx_dma.c @@ -8,7 +8,8 @@ * This code is licenced under the GPL. */ -#include "vl.h" +#include "hw.h" +#include "pxa.h" struct pxa2xx_dma_channel_s { target_phys_addr_t descr; @@ -303,7 +304,7 @@ static uint32_t pxa2xx_dma_read(void *opaque, target_phys_addr_t offset) } cpu_abort(cpu_single_env, - "%s: Bad offset 0x%04lx\n", __FUNCTION__, offset); + "%s: Bad offset 0x" TARGET_FMT_plx "\n", __FUNCTION__, offset); return 7; } @@ -347,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) { @@ -401,7 +404,7 @@ static void pxa2xx_dma_write(void *opaque, break; } fail: - cpu_abort(cpu_single_env, "%s: Bad offset 0x%04lx\n", + cpu_abort(cpu_single_env, "%s: Bad offset " TARGET_FMT_plx "\n", __FUNCTION__, offset); } } |