diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-10-30 20:30:27 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-10-31 01:18:27 +0000 |
commit | fe2d52cc7d0180acff26349f2904fba854de6fbc (patch) | |
tree | 62dbbe9a6e6ebc011e8e02f7428b8f620a83f698 /firmware/target/arm | |
parent | 2d85c7215169780168032617603e9e7b06d7ba25 (diff) | |
download | rockbox-fe2d52cc7d0180acff26349f2904fba854de6fbc.tar.gz rockbox-fe2d52cc7d0180acff26349f2904fba854de6fbc.zip |
pcm: Get rid of pcm_play_pause() and associated APIs
Nothing in the core has used it for some time. It's exported to the
plugin API but the last plugins to use it were switched to the mixer API
back in 2011.
This allows us to get rid of pcm_play_dma_pause() from all audio drivers
Change-Id: Ic3fa02592316f84963e41d792d1cabb436d1ff6b
Diffstat (limited to 'firmware/target/arm')
-rw-r--r-- | firmware/target/arm/as3525/pcm-as3525.c | 20 | ||||
-rw-r--r-- | firmware/target/arm/imx233/pcm-imx233.c | 6 | ||||
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/pcm-gigabeat-s.c | 14 | ||||
-rw-r--r-- | firmware/target/arm/pcm-telechips.c | 9 | ||||
-rw-r--r-- | firmware/target/arm/pnx0101/pcm-pnx0101.c | 7 | ||||
-rw-r--r-- | firmware/target/arm/pp/pcm-pp.c | 9 | ||||
-rw-r--r-- | firmware/target/arm/rk27xx/pcm-rk27xx.c | 15 | ||||
-rw-r--r-- | firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c | 18 | ||||
-rw-r--r-- | firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c | 18 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/pcm-s5l8700.c | 12 | ||||
-rw-r--r-- | firmware/target/arm/s5l8702/pcm-s5l8702.c | 7 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c | 5 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c | 14 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c | 14 |
14 files changed, 1 insertions, 167 deletions
diff --git a/firmware/target/arm/as3525/pcm-as3525.c b/firmware/target/arm/as3525/pcm-as3525.c index ddb4d86bd4..90b6aabd7c 100644 --- a/firmware/target/arm/as3525/pcm-as3525.c +++ b/firmware/target/arm/as3525/pcm-as3525.c | |||
@@ -152,26 +152,6 @@ void pcm_play_dma_stop(void) | |||
152 | play_callback_pending = false; | 152 | play_callback_pending = false; |
153 | } | 153 | } |
154 | 154 | ||
155 | void pcm_play_dma_pause(bool pause) | ||
156 | { | ||
157 | is_playing = !pause; | ||
158 | |||
159 | if(pause) | ||
160 | { | ||
161 | dma_pause_channel(0); | ||
162 | |||
163 | /* if producer's buffer finished, upper layer starts anew */ | ||
164 | if (dma_rem_size == 0) | ||
165 | play_callback_pending = false; | ||
166 | } | ||
167 | else | ||
168 | { | ||
169 | if (play_sub_size != 0) | ||
170 | dma_resume_channel(0); | ||
171 | /* else unlock calls the callback if sub buffers remain */ | ||
172 | } | ||
173 | } | ||
174 | |||
175 | void pcm_play_dma_init(void) | 155 | void pcm_play_dma_init(void) |
176 | { | 156 | { |
177 | bitset32(&CGU_PERI, CGU_I2SOUT_APB_CLOCK_ENABLE); | 157 | bitset32(&CGU_PERI, CGU_I2SOUT_APB_CLOCK_ENABLE); |
diff --git a/firmware/target/arm/imx233/pcm-imx233.c b/firmware/target/arm/imx233/pcm-imx233.c index de0e1aabf5..7e20a7ce68 100644 --- a/firmware/target/arm/imx233/pcm-imx233.c +++ b/firmware/target/arm/imx233/pcm-imx233.c | |||
@@ -149,12 +149,6 @@ void pcm_play_dma_start(const void *addr, size_t size) | |||
149 | pcm_play_unlock(); | 149 | pcm_play_unlock(); |
150 | } | 150 | } |
151 | 151 | ||
152 | void pcm_play_dma_pause(bool pause) | ||
153 | { | ||
154 | imx233_dma_freeze_channel(APB_AUDIO_DAC, pause); | ||
155 | dac_freezed = pause; | ||
156 | } | ||
157 | |||
158 | void pcm_play_dma_init(void) | 152 | void pcm_play_dma_init(void) |
159 | { | 153 | { |
160 | audiohw_preinit(); | 154 | audiohw_preinit(); |
diff --git a/firmware/target/arm/imx31/gigabeat-s/pcm-gigabeat-s.c b/firmware/target/arm/imx31/gigabeat-s/pcm-gigabeat-s.c index 7304bdcff3..72d8e4a021 100644 --- a/firmware/target/arm/imx31/gigabeat-s/pcm-gigabeat-s.c +++ b/firmware/target/arm/imx31/gigabeat-s/pcm-gigabeat-s.c | |||
@@ -224,20 +224,6 @@ void pcm_play_dma_stop(void) | |||
224 | play_stop_pcm(); | 224 | play_stop_pcm(); |
225 | } | 225 | } |
226 | 226 | ||
227 | void pcm_play_dma_pause(bool pause) | ||
228 | { | ||
229 | if (pause) | ||
230 | { | ||
231 | sdma_channel_pause(DMA_PLAY_CH_NUM); | ||
232 | play_stop_pcm(); | ||
233 | } | ||
234 | else | ||
235 | { | ||
236 | play_start_pcm(); | ||
237 | sdma_channel_run(DMA_PLAY_CH_NUM); | ||
238 | } | ||
239 | } | ||
240 | |||
241 | /* Return the number of bytes waiting - full L-R sample pairs only */ | 227 | /* Return the number of bytes waiting - full L-R sample pairs only */ |
242 | size_t pcm_get_bytes_waiting(void) | 228 | size_t pcm_get_bytes_waiting(void) |
243 | { | 229 | { |
diff --git a/firmware/target/arm/pcm-telechips.c b/firmware/target/arm/pcm-telechips.c index ddd69088cf..9c64b58594 100644 --- a/firmware/target/arm/pcm-telechips.c +++ b/firmware/target/arm/pcm-telechips.c | |||
@@ -194,15 +194,6 @@ void pcm_play_unlock(void) | |||
194 | restore_fiq(status); | 194 | restore_fiq(status); |
195 | } | 195 | } |
196 | 196 | ||
197 | void pcm_play_dma_pause(bool pause) | ||
198 | { | ||
199 | if (pause) { | ||
200 | play_stop_pcm(); | ||
201 | } else { | ||
202 | play_start_pcm(); | ||
203 | } | ||
204 | } | ||
205 | |||
206 | size_t pcm_get_bytes_waiting(void) | 197 | size_t pcm_get_bytes_waiting(void) |
207 | { | 198 | { |
208 | return dma_play_data.size & ~3; | 199 | return dma_play_data.size & ~3; |
diff --git a/firmware/target/arm/pnx0101/pcm-pnx0101.c b/firmware/target/arm/pnx0101/pcm-pnx0101.c index a2394bc355..01ead4723b 100644 --- a/firmware/target/arm/pnx0101/pcm-pnx0101.c +++ b/firmware/target/arm/pnx0101/pcm-pnx0101.c | |||
@@ -49,11 +49,6 @@ void pcm_play_dma_stop(void) | |||
49 | { | 49 | { |
50 | } | 50 | } |
51 | 51 | ||
52 | void pcm_play_dma_pause(bool pause) | ||
53 | { | ||
54 | (void)pause; | ||
55 | } | ||
56 | |||
57 | static inline void fill_dma_buf(int offset) | 52 | static inline void fill_dma_buf(int offset) |
58 | { | 53 | { |
59 | short *l, *r, *lend; | 54 | short *l, *r, *lend; |
@@ -62,7 +57,7 @@ static inline void fill_dma_buf(int offset) | |||
62 | lend = l + DMA_BUF_SAMPLES / 2; | 57 | lend = l + DMA_BUF_SAMPLES / 2; |
63 | r = dma_buf_right + offset; | 58 | r = dma_buf_right + offset; |
64 | 59 | ||
65 | if (pcm_playing && !pcm_paused) | 60 | if (pcm_playing) |
66 | { | 61 | { |
67 | bool new_buffer =false; | 62 | bool new_buffer =false; |
68 | 63 | ||
diff --git a/firmware/target/arm/pp/pcm-pp.c b/firmware/target/arm/pp/pcm-pp.c index 99d46a6096..91d567ee83 100644 --- a/firmware/target/arm/pp/pcm-pp.c +++ b/firmware/target/arm/pp/pcm-pp.c | |||
@@ -497,15 +497,6 @@ void pcm_play_dma_stop(void) | |||
497 | #endif | 497 | #endif |
498 | } | 498 | } |
499 | 499 | ||
500 | void pcm_play_dma_pause(bool pause) | ||
501 | { | ||
502 | if (pause) { | ||
503 | play_stop_pcm(); | ||
504 | } else { | ||
505 | play_start_pcm(); | ||
506 | } | ||
507 | } | ||
508 | |||
509 | size_t pcm_get_bytes_waiting(void) | 500 | size_t pcm_get_bytes_waiting(void) |
510 | { | 501 | { |
511 | return dma_play_data.size & ~3; | 502 | return dma_play_data.size & ~3; |
diff --git a/firmware/target/arm/rk27xx/pcm-rk27xx.c b/firmware/target/arm/rk27xx/pcm-rk27xx.c index 21feaf6cc4..5cfe54f9de 100644 --- a/firmware/target/arm/rk27xx/pcm-rk27xx.c +++ b/firmware/target/arm/rk27xx/pcm-rk27xx.c | |||
@@ -114,21 +114,6 @@ void pcm_play_dma_start(const void *addr, size_t size) | |||
114 | hdma_i2s_transfer(addr, size); | 114 | hdma_i2s_transfer(addr, size); |
115 | } | 115 | } |
116 | 116 | ||
117 | /* pause DMA transfer by disabling clock to DMA module */ | ||
118 | void pcm_play_dma_pause(bool pause) | ||
119 | { | ||
120 | if(pause) | ||
121 | { | ||
122 | SCU_CLKCFG |= CLKCFG_HDMA; | ||
123 | locked = 1; | ||
124 | } | ||
125 | else | ||
126 | { | ||
127 | SCU_CLKCFG &= ~CLKCFG_HDMA; | ||
128 | locked = 0; | ||
129 | } | ||
130 | } | ||
131 | |||
132 | static void i2s_init(void) | 117 | static void i2s_init(void) |
133 | { | 118 | { |
134 | #if defined(HAVE_RK27XX_CODEC) | 119 | #if defined(HAVE_RK27XX_CODEC) |
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c index a1c854a0df..da5dc9cdd5 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c | |||
@@ -195,24 +195,6 @@ void pcm_play_dma_stop(void) | |||
195 | bitclr32(&CLKCON, 1<<17); | 195 | bitclr32(&CLKCON, 1<<17); |
196 | } | 196 | } |
197 | 197 | ||
198 | void pcm_play_dma_pause(bool pause) | ||
199 | { | ||
200 | if (pause) | ||
201 | { | ||
202 | /* pause playback on current buffer */ | ||
203 | play_stop_pcm(); | ||
204 | } | ||
205 | else | ||
206 | { | ||
207 | /* restart playback on current buffer */ | ||
208 | /* make sure we're aligned on left channel - skip any right | ||
209 | channel sample left waiting */ | ||
210 | DISRC2 = (DCSRC2 + 2) & ~0x3; | ||
211 | DCON2 = DMA_CONTROL_SETUP | (DSTAT2 & 0xFFFFE); | ||
212 | play_start_pcm(); | ||
213 | } | ||
214 | } | ||
215 | |||
216 | void fiq_handler(void) | 198 | void fiq_handler(void) |
217 | { | 199 | { |
218 | static const void *start; | 200 | static const void *start; |
diff --git a/firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c b/firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c index 943cbb2ade..dbb1a06809 100644 --- a/firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c +++ b/firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c | |||
@@ -235,24 +235,6 @@ void pcm_play_dma_stop(void) | |||
235 | bitclr32(&CLKCON, 1<<17); | 235 | bitclr32(&CLKCON, 1<<17); |
236 | } | 236 | } |
237 | 237 | ||
238 | void pcm_play_dma_pause(bool pause) | ||
239 | { | ||
240 | if (pause) | ||
241 | { | ||
242 | /* pause playback on current buffer */ | ||
243 | play_stop_pcm(); | ||
244 | } | ||
245 | else | ||
246 | { | ||
247 | /* restart playback on current buffer */ | ||
248 | /* make sure we're aligned on left channel - skip any right | ||
249 | channel sample left waiting */ | ||
250 | DISRC2 = (DCSRC2 + 2) & ~0x3; | ||
251 | DCON2 = DMA_CONTROL_SETUP | (DSTAT2 & 0xFFFFE); | ||
252 | play_start_pcm(); | ||
253 | } | ||
254 | } | ||
255 | |||
256 | void fiq_handler(void) | 238 | void fiq_handler(void) |
257 | { | 239 | { |
258 | static const void *start; | 240 | static const void *start; |
diff --git a/firmware/target/arm/s5l8700/pcm-s5l8700.c b/firmware/target/arm/s5l8700/pcm-s5l8700.c index d8387c2aa5..47525611ee 100644 --- a/firmware/target/arm/s5l8700/pcm-s5l8700.c +++ b/firmware/target/arm/s5l8700/pcm-s5l8700.c | |||
@@ -35,7 +35,6 @@ | |||
35 | /* Driver for the IIS/PCM part of the s5l8700 using DMA | 35 | /* Driver for the IIS/PCM part of the s5l8700 using DMA |
36 | 36 | ||
37 | Notes: | 37 | Notes: |
38 | - pcm_play_dma_pause is untested, not sure if implemented the right way | ||
39 | - pcm_play_dma_stop is untested, not sure if implemented the right way | 38 | - pcm_play_dma_stop is untested, not sure if implemented the right way |
40 | - recording is not implemented | 39 | - recording is not implemented |
41 | */ | 40 | */ |
@@ -173,17 +172,6 @@ void pcm_play_dma_stop(void) | |||
173 | (0 << 0); /* 0 = LRCK on */ | 172 | (0 << 0); /* 0 = LRCK on */ |
174 | } | 173 | } |
175 | 174 | ||
176 | /* pause playback by disabling the I2S interface */ | ||
177 | void pcm_play_dma_pause(bool pause) | ||
178 | { | ||
179 | if (pause) { | ||
180 | I2STXCOM |= (1 << 0); /* LRCK off */ | ||
181 | } | ||
182 | else { | ||
183 | I2STXCOM &= ~(1 << 0); /* LRCK on */ | ||
184 | } | ||
185 | } | ||
186 | |||
187 | static void pcm_dma_set_freq(enum hw_freq_indexes idx) | 175 | static void pcm_dma_set_freq(enum hw_freq_indexes idx) |
188 | { | 176 | { |
189 | struct div_entry div = div_table[idx]; | 177 | struct div_entry div = div_table[idx]; |
diff --git a/firmware/target/arm/s5l8702/pcm-s5l8702.c b/firmware/target/arm/s5l8702/pcm-s5l8702.c index 86a0edd54a..a62a7243a2 100644 --- a/firmware/target/arm/s5l8702/pcm-s5l8702.c +++ b/firmware/target/arm/s5l8702/pcm-s5l8702.c | |||
@@ -157,13 +157,6 @@ void pcm_play_dma_stop(void) | |||
157 | I2STXCOM = 0xa; | 157 | I2STXCOM = 0xa; |
158 | } | 158 | } |
159 | 159 | ||
160 | /* pause playback by disabling LRCK */ | ||
161 | void pcm_play_dma_pause(bool pause) | ||
162 | { | ||
163 | if (pause) I2STXCOM |= 1; | ||
164 | else I2STXCOM &= ~1; | ||
165 | } | ||
166 | |||
167 | /* MCLK = 12MHz (MCLKDIV2=1), [CS42L55 DS, s4.8] */ | 160 | /* MCLK = 12MHz (MCLKDIV2=1), [CS42L55 DS, s4.8] */ |
168 | #define MCLK_FREQ 12000000 | 161 | #define MCLK_FREQ 12000000 |
169 | 162 | ||
diff --git a/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c index 1fda5fe045..f31185c2ea 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c +++ b/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c | |||
@@ -85,11 +85,6 @@ void pcm_play_unlock(void) | |||
85 | 85 | ||
86 | } | 86 | } |
87 | 87 | ||
88 | void pcm_play_dma_pause(bool pause) | ||
89 | { | ||
90 | (void) pause; | ||
91 | } | ||
92 | |||
93 | size_t pcm_get_bytes_waiting(void) | 88 | size_t pcm_get_bytes_waiting(void) |
94 | { | 89 | { |
95 | return 0; | 90 | return 0; |
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c index d23c93de39..0d7bcbab37 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c | |||
@@ -120,20 +120,6 @@ void pcm_play_unlock(void) | |||
120 | 120 | ||
121 | } | 121 | } |
122 | 122 | ||
123 | void pcm_play_dma_pause(bool pause) | ||
124 | { | ||
125 | if (pause) | ||
126 | { | ||
127 | DSP_(_dma0_stopped)=2; | ||
128 | dsp_wake(); | ||
129 | } | ||
130 | else | ||
131 | { | ||
132 | DSP_(_dma0_stopped)=0; | ||
133 | dsp_wake(); | ||
134 | } | ||
135 | } | ||
136 | |||
137 | size_t pcm_get_bytes_waiting(void) | 123 | size_t pcm_get_bytes_waiting(void) |
138 | { | 124 | { |
139 | return DSP_(_sdem_dsp_size)-DSP_(_sdem_level); | 125 | return DSP_(_sdem_dsp_size)-DSP_(_sdem_level); |
diff --git a/firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c b/firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c index 6e640bdf12..c2932fd762 100644 --- a/firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c +++ b/firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c | |||
@@ -127,20 +127,6 @@ void pcm_play_unlock(void) | |||
127 | 127 | ||
128 | } | 128 | } |
129 | 129 | ||
130 | void pcm_play_dma_pause(bool pause) | ||
131 | { | ||
132 | if (pause) | ||
133 | { | ||
134 | DSP_(_dma0_stopped)=2; | ||
135 | dsp_wake(); | ||
136 | } | ||
137 | else | ||
138 | { | ||
139 | DSP_(_dma0_stopped)=0; | ||
140 | dsp_wake(); | ||
141 | } | ||
142 | } | ||
143 | |||
144 | size_t pcm_get_bytes_waiting(void) | 130 | size_t pcm_get_bytes_waiting(void) |
145 | { | 131 | { |
146 | return DSP_(_sdem_dsp_size)-DSP_(_sdem_level); | 132 | return DSP_(_sdem_dsp_size)-DSP_(_sdem_level); |