summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-05-12 14:05:36 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-05-12 14:05:36 +0000
commit4d04132c76700b30708bf99fc0ef664e8bb0b58d (patch)
tree4a32974c7d75d93477413fa3fe8cd152709e3d8c /firmware/export
parentf2df42ee91ee61f793dac4844255cb4ec9049621 (diff)
downloadrockbox-4d04132c76700b30708bf99fc0ef664e8bb0b58d.tar.gz
rockbox-4d04132c76700b30708bf99fc0ef664e8bb0b58d.zip
PCM bottom layer simplification. pcm_rec_peak_addr variable no longer has to be handled there. Driver can just return current pointer for recording peaks. A new define, HAVE_PCM_REC_DMA_ADDRESS, specifies that physical addresses are being used for recording and translation is needed before starting a new block. The drivers need not worry about aligning start and size nor should care if either will be zero. All this will be checked in the logical layer first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25970 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/config/gigabeats.h1
-rw-r--r--firmware/export/pcm.h4
2 files changed, 3 insertions, 2 deletions
diff --git a/firmware/export/config/gigabeats.h b/firmware/export/config/gigabeats.h
index 2e489239b9..19a8fa4bf8 100644
--- a/firmware/export/config/gigabeats.h
+++ b/firmware/export/config/gigabeats.h
@@ -220,6 +220,7 @@
220/* #define HAVE_ADJUSTABLE_CPU_FREQ */ 220/* #define HAVE_ADJUSTABLE_CPU_FREQ */
221 221
222#define HAVE_PCM_DMA_ADDRESS 222#define HAVE_PCM_DMA_ADDRESS
223#define HAVE_PCM_REC_DMA_ADDRESS
223 224
224#define BOOTFILE_EXT "gigabeat" 225#define BOOTFILE_EXT "gigabeat"
225#define BOOTFILE "rockbox." BOOTFILE_EXT 226#define BOOTFILE "rockbox." BOOTFILE_EXT
diff --git a/firmware/export/pcm.h b/firmware/export/pcm.h
index 0f8222f90d..0e71814b34 100644
--- a/firmware/export/pcm.h
+++ b/firmware/export/pcm.h
@@ -140,7 +140,6 @@ void pcm_calculate_rec_peaks(int *left, int *right);
140 140
141/** The following are for internal use between pcm.c and target- 141/** The following are for internal use between pcm.c and target-
142 specific portion **/ 142 specific portion **/
143extern volatile const void *pcm_rec_peak_addr;
144/* the registered callback function for when more data is available */ 143/* the registered callback function for when more data is available */
145extern volatile pcm_more_callback_type2 pcm_callback_more_ready; 144extern volatile pcm_more_callback_type2 pcm_callback_more_ready;
146/* DMA transfer in is currently active */ 145/* DMA transfer in is currently active */
@@ -150,9 +149,10 @@ extern volatile bool pcm_recording;
150void pcm_rec_dma_init(void); 149void pcm_rec_dma_init(void);
151void pcm_rec_dma_close(void); 150void pcm_rec_dma_close(void);
152void pcm_rec_dma_start(void *addr, size_t size); 151void pcm_rec_dma_start(void *addr, size_t size);
152void pcm_rec_dma_record_more(void *start, size_t size);
153void pcm_rec_dma_stop(void); 153void pcm_rec_dma_stop(void);
154void pcm_rec_dma_stopped_callback(void); 154void pcm_rec_dma_stopped_callback(void);
155const void * pcm_rec_dma_get_peak_buffer(int *count); 155const void * pcm_rec_dma_get_peak_buffer(void);
156 156
157#endif /* HAVE_RECORDING */ 157#endif /* HAVE_RECORDING */
158 158