summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-05-12 14:31:12 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-05-12 14:31:12 +0000
commitcc7457e788141b9570b65eda428181c139879f63 (patch)
tree98fdbfbfe9e55d1d4e97203b1215fd745e630750
parent4d04132c76700b30708bf99fc0ef664e8bb0b58d (diff)
Fix r25970 red and yellow *and* a bug uncovered for pp5002 where pcm_play_dma_start wasn't actually initializing the dma_play_data with the first buffer info (must've happened during pp502x DMA conversion).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25971 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/config/sim.h1
-rw-r--r--firmware/target/arm/pcm-pp.c3
-rw-r--r--uisimulator/sdl/sound.c5
3 files changed, 6 insertions, 3 deletions
diff --git a/firmware/export/config/sim.h b/firmware/export/config/sim.h
index 5b42394b1f..6d2e6d24ea 100644
--- a/firmware/export/config/sim.h
+++ b/firmware/export/config/sim.h
@@ -10,6 +10,7 @@
#undef CONFIG_I2C
#undef HAVE_PCM_DMA_ADDRESS
+#undef HAVE_PCM_REC_DMA_ADDRESS
#undef FLASH_SIZE
diff --git a/firmware/target/arm/pcm-pp.c b/firmware/target/arm/pcm-pp.c
index bad3f593fe..e0b603c81f 100644
--- a/firmware/target/arm/pcm-pp.c
+++ b/firmware/target/arm/pcm-pp.c
@@ -450,6 +450,9 @@ void pcm_play_dma_start(const void *addr, size_t size)
DMA0_PER_ADDR = (unsigned long)&IISFIFO_WR;
DMA0_FLAGS = DMA_FLAGS_UNK26;
DMA0_INCR = DMA_INCR_RANGE_FIXED | DMA_INCR_WIDTH_32BIT;
+#else
+ dma_play_data.addr = (unsigned long)addr;
+ dma_play_data.size = size;
#endif
play_start_pcm();
diff --git a/uisimulator/sdl/sound.c b/uisimulator/sdl/sound.c
index a370ed83f5..dd5e4345aa 100644
--- a/uisimulator/sdl/sound.c
+++ b/uisimulator/sdl/sound.c
@@ -282,7 +282,7 @@ void pcm_rec_dma_stop(void)
{
}
-void pcm_record_more(void *start, size_t size)
+void pcm_rec_dma_record_more(void *start, size_t size)
{
(void)start;
(void)size;
@@ -293,9 +293,8 @@ unsigned long pcm_rec_status(void)
return 0;
}
-const void * pcm_rec_dma_get_peak_buffer(int *count)
+const void * pcm_rec_dma_get_peak_buffer(void)
{
- *count = 0;
return NULL;
}