diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2006-12-12 04:25:52 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2006-12-12 04:25:52 +0000 |
commit | f51df0de210476d0fbd90a9f0e1fcd9054f275f5 (patch) | |
tree | 722dfe3d0a254c8240664ba1dfda5880907bfd81 /firmware/target/coldfire | |
parent | b464e7d6c98653ffb9cf99d6021a2d773e91835d (diff) | |
download | rockbox-f51df0de210476d0fbd90a9f0e1fcd9054f275f5.tar.gz rockbox-f51df0de210476d0fbd90a9f0e1fcd9054f275f5.zip |
Coldfire: Put DMA1 priority back at level 7 as that seems to be the cause of the stopping during record. Make DMA1 start as it did previously.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11729 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/coldfire')
-rw-r--r-- | firmware/target/coldfire/pcm-coldfire.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c index ab8b17cd0c..035c4da500 100644 --- a/firmware/target/coldfire/pcm-coldfire.c +++ b/firmware/target/coldfire/pcm-coldfire.c @@ -292,12 +292,13 @@ void pcm_rec_dma_start(void *addr, size_t size) INTERRUPTCLEAR = 0x03c00000; #endif - SAR1 = (unsigned long)&PDIR2; /* Source address */ - DCR1 = DMA_INT | DMA_CS | DMA_AA | DMA_DINC | DMA_DSIZE(3); + SAR1 = (unsigned long)&PDIR2; /* Source address */ + rec_peak_addr = (unsigned long *)addr; /* Start peaking at dest */ + DAR1 = (unsigned long)addr; /* Destination address */ + BCR1 = (unsigned long)size; /* Bytes to transfer */ - pcm_record_more(addr, size); - - DCR1 |= DMA_START; + DCR1 = DMA_INT | DMA_EEXT | DMA_CS | DMA_AA | DMA_DINC | + DMA_DSIZE(3) | DMA_START; } /* pcm_dma_start */ void pcm_rec_dma_stop(void) @@ -325,7 +326,7 @@ void pcm_init_recording(void) pcm_rec_dma_stop(); - ICR7 = (6 << 2); /* Enable interrupt at level 6, priority 0 */ + ICR7 = (7 << 2); /* Enable interrupt at level 7, priority 0 */ IMR &= ~(1 << 15); /* bit 15 is DMA1 */ } /* pcm_init_recording */ |