From abf201e8035590dc6c660f99ac01de9bcb3ec92f Mon Sep 17 00:00:00 2001 From: jethead71 Date: Wed, 12 May 2010 14:31:12 +0000 Subject: [PATCH] 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 --- firmware/export/config/sim.h | 1 + firmware/target/arm/pcm-pp.c | 3 +++ uisimulator/sdl/sound.c | 5 ++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/firmware/export/config/sim.h b/firmware/export/config/sim.h index 5b42394b1..6d2e6d24e 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 bad3f593f..e0b603c81 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 a370ed83f..dd5e4345a 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; } -- 2.11.4.GIT