diff options
Diffstat (limited to 'firmware/target')
22 files changed, 10 insertions, 289 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) play_callback_pending = false; } -void pcm_play_dma_pause(bool pause) -{ - is_playing = !pause; - - if(pause) - { - dma_pause_channel(0); - - /* if producer's buffer finished, upper layer starts anew */ - if (dma_rem_size == 0) - play_callback_pending = false; - } - else - { - if (play_sub_size != 0) - dma_resume_channel(0); - /* else unlock calls the callback if sub buffers remain */ - } -} - void pcm_play_dma_init(void) { 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) pcm_play_unlock(); } -void pcm_play_dma_pause(bool pause) -{ - imx233_dma_freeze_channel(APB_AUDIO_DAC, pause); - dac_freezed = pause; -} - void pcm_play_dma_init(void) { 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) play_stop_pcm(); } -void pcm_play_dma_pause(bool pause) -{ - if (pause) - { - sdma_channel_pause(DMA_PLAY_CH_NUM); - play_stop_pcm(); - } - else - { - play_start_pcm(); - sdma_channel_run(DMA_PLAY_CH_NUM); - } -} - /* Return the number of bytes waiting - full L-R sample pairs only */ size_t pcm_get_bytes_waiting(void) { 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) restore_fiq(status); } -void pcm_play_dma_pause(bool pause) -{ - if (pause) { - play_stop_pcm(); - } else { - play_start_pcm(); - } -} - size_t pcm_get_bytes_waiting(void) { 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) { } -void pcm_play_dma_pause(bool pause) -{ - (void)pause; -} - static inline void fill_dma_buf(int offset) { short *l, *r, *lend; @@ -62,7 +57,7 @@ static inline void fill_dma_buf(int offset) lend = l + DMA_BUF_SAMPLES / 2; r = dma_buf_right + offset; - if (pcm_playing && !pcm_paused) + if (pcm_playing) { bool new_buffer =false; 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) #endif } -void pcm_play_dma_pause(bool pause) -{ - if (pause) { - play_stop_pcm(); - } else { - play_start_pcm(); - } -} - size_t pcm_get_bytes_waiting(void) { 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) hdma_i2s_transfer(addr, size); } -/* pause DMA transfer by disabling clock to DMA module */ -void pcm_play_dma_pause(bool pause) -{ - if(pause) - { - SCU_CLKCFG |= CLKCFG_HDMA; - locked = 1; - } - else - { - SCU_CLKCFG &= ~CLKCFG_HDMA; - locked = 0; - } -} - static void i2s_init(void) { #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) bitclr32(&CLKCON, 1<<17); } -void pcm_play_dma_pause(bool pause) -{ - if (pause) - { - /* pause playback on current buffer */ - play_stop_pcm(); - } - else - { - /* restart playback on current buffer */ - /* make sure we're aligned on left channel - skip any right - channel sample left waiting */ - DISRC2 = (DCSRC2 + 2) & ~0x3; - DCON2 = DMA_CONTROL_SETUP | (DSTAT2 & 0xFFFFE); - play_start_pcm(); - } -} - void fiq_handler(void) { 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) bitclr32(&CLKCON, 1<<17); } -void pcm_play_dma_pause(bool pause) -{ - if (pause) - { - /* pause playback on current buffer */ - play_stop_pcm(); - } - else - { - /* restart playback on current buffer */ - /* make sure we're aligned on left channel - skip any right - channel sample left waiting */ - DISRC2 = (DCSRC2 + 2) & ~0x3; - DCON2 = DMA_CONTROL_SETUP | (DSTAT2 & 0xFFFFE); - play_start_pcm(); - } -} - void fiq_handler(void) { 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 @@ /* Driver for the IIS/PCM part of the s5l8700 using DMA Notes: - - pcm_play_dma_pause is untested, not sure if implemented the right way - pcm_play_dma_stop is untested, not sure if implemented the right way - recording is not implemented */ @@ -173,17 +172,6 @@ void pcm_play_dma_stop(void) (0 << 0); /* 0 = LRCK on */ } -/* pause playback by disabling the I2S interface */ -void pcm_play_dma_pause(bool pause) -{ - if (pause) { - I2STXCOM |= (1 << 0); /* LRCK off */ - } - else { - I2STXCOM &= ~(1 << 0); /* LRCK on */ - } -} - static void pcm_dma_set_freq(enum hw_freq_indexes idx) { 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) I2STXCOM = 0xa; } -/* pause playback by disabling LRCK */ -void pcm_play_dma_pause(bool pause) -{ - if (pause) I2STXCOM |= 1; - else I2STXCOM &= ~1; -} - /* MCLK = 12MHz (MCLKDIV2=1), [CS42L55 DS, s4.8] */ #define MCLK_FREQ 12000000 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) } -void pcm_play_dma_pause(bool pause) -{ - (void) pause; -} - size_t pcm_get_bytes_waiting(void) { 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) } -void pcm_play_dma_pause(bool pause) -{ - if (pause) - { - DSP_(_dma0_stopped)=2; - dsp_wake(); - } - else - { - DSP_(_dma0_stopped)=0; - dsp_wake(); - } -} - size_t pcm_get_bytes_waiting(void) { 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) } -void pcm_play_dma_pause(bool pause) -{ - if (pause) - { - DSP_(_dma0_stopped)=2; - dsp_wake(); - } - else - { - DSP_(_dma0_stopped)=0; - dsp_wake(); - } -} - size_t pcm_get_bytes_waiting(void) { return DSP_(_sdem_dsp_size)-DSP_(_sdem_level); diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c index 8162f521f9..10f9ea931f 100644 --- a/firmware/target/coldfire/pcm-coldfire.c +++ b/firmware/target/coldfire/pcm-coldfire.c @@ -264,25 +264,6 @@ void pcm_play_dma_stop(void) dma_play_lock.state = (1 << 14); } /* pcm_play_dma_stop */ -void pcm_play_dma_pause(bool pause) -{ - if (pause) - { - /* pause playback on current buffer */ - and_l(~(DMA_EEXT | DMA_INT), &DCR0); /* per request and int OFF */ - DSR0 = 1; /* stop channel */ - iis_play_reset_if_playback(true); - dma_play_lock.state = (1 << 14); - } - else - { - /* restart playback on current buffer */ - iis_play_reset_if_playback(true); - or_l(DMA_INT | DMA_EEXT | DMA_START, &DCR0); /* everything ON */ - dma_play_lock.state = (0 << 14); - } -} /* pcm_play_dma_pause */ - size_t pcm_get_bytes_waiting(void) { return BCR0 & 0xffffff; diff --git a/firmware/target/hosted/android/pcm-android.c b/firmware/target/hosted/android/pcm-android.c index 23a003ff73..69fd06c6f7 100644 --- a/firmware/target/hosted/android/pcm-android.c +++ b/firmware/target/hosted/android/pcm-android.c @@ -153,8 +153,11 @@ void pcm_play_dma_start(const void *addr, size_t size) { pcm_data_start = addr; pcm_data_size = size; - - pcm_play_dma_pause(false); + + (*env_ptr)->CallVoidMethod(env_ptr, + RockboxPCM_instance, + play_pause_method, + (int)pause); } void pcm_play_dma_stop(void) @@ -168,14 +171,6 @@ void pcm_play_dma_stop(void) stop_method); } -void pcm_play_dma_pause(bool pause) -{ - (*env_ptr)->CallVoidMethod(env_ptr, - RockboxPCM_instance, - play_pause_method, - (int)pause); -} - size_t pcm_get_bytes_waiting(void) { return pcm_data_size; diff --git a/firmware/target/hosted/ibasso/pcm-ibasso.c b/firmware/target/hosted/ibasso/pcm-ibasso.c index 4721501d25..edfdc6d592 100644 --- a/firmware/target/hosted/ibasso/pcm-ibasso.c +++ b/firmware/target/hosted/ibasso/pcm-ibasso.c @@ -364,22 +364,6 @@ void pcm_play_dma_start(const void *addr, size_t size) pthread_mutex_unlock(&_dma_suspended_mtx); } - -/* TODO: Why is this in the API if it gets never called? */ -void pcm_play_dma_pause(bool pause) -{ - TRACE; - - pthread_mutex_lock(&_dma_suspended_mtx); - _dma_stopped = pause ? 1 : 0; - if(_dma_stopped == 0) - { - pthread_cond_signal(&_dma_suspended_cond); - } - pthread_mutex_unlock(&_dma_suspended_mtx); -} - - void pcm_play_dma_stop(void) { TRACE; diff --git a/firmware/target/hosted/maemo/pcm-gstreamer.c b/firmware/target/hosted/maemo/pcm-gstreamer.c index bd264fe5d3..7c864738ef 100644 --- a/firmware/target/hosted/maemo/pcm-gstreamer.c +++ b/firmware/target/hosted/maemo/pcm-gstreamer.c @@ -154,23 +154,6 @@ void pcm_play_dma_stop(void) gst_element_set_state (GST_ELEMENT(gst_pipeline), GST_STATE_NULL); } -void pcm_play_dma_pause(bool pause) -{ - if (inside_feed_data) - { - if (pause) - g_signal_emit_by_name (gst_appsrc, "end-of-stream", NULL); - else - DEBUGF("ERROR: Called dma_pause(0) while inside feed_data\n"); - } else - { - if (pause) - gst_element_set_state (GST_ELEMENT(gst_pipeline), GST_STATE_NULL); - else - gst_element_set_state (GST_ELEMENT(gst_pipeline), GST_STATE_PLAYING); - } -} - size_t pcm_get_bytes_waiting(void) { return pcm_data_size; diff --git a/firmware/target/hosted/pcm-alsa.c b/firmware/target/hosted/pcm-alsa.c index eb1f764791..939a0cabb5 100644 --- a/firmware/target/hosted/pcm-alsa.c +++ b/firmware/target/hosted/pcm-alsa.c @@ -489,7 +489,7 @@ static void close_hwdev(void) if (handle) { snd_pcm_drain(handle); -#ifdef AUDIOHW_MUTE_ON_PAUSE +#ifdef AUDIOHW_MUTE_ON_STOP audiohw_mute(true); #endif if (ahandler) { @@ -634,20 +634,6 @@ void pcm_dma_apply_settings(void) pcm_play_unlock(); } -void pcm_play_dma_pause(bool pause) -{ - logf("PCM DMA pause %d", pause); - if (!handle) return; - -#ifdef AUDIOHW_MUTE_ON_PAUSE - if (pause) audiohw_mute(true); -#endif - snd_pcm_pause(handle, pause); -#ifdef AUDIOHW_MUTE_ON_PAUSE - if (!pause) audiohw_mute(false); -#endif -} - void pcm_play_dma_stop(void) { logf("PCM DMA stop (%d)", snd_pcm_state(handle)); @@ -656,7 +642,7 @@ void pcm_play_dma_stop(void) if (err < 0) if (err < 0) logf("Drain failed: %s", snd_strerror(err)); -#ifdef AUDIOHW_MUTE_ON_PAUSE +#ifdef AUDIOHW_MUTE_ON_STOP audiohw_mute(true); #endif } @@ -669,7 +655,7 @@ void pcm_play_dma_start(const void *addr, size_t size) pcm_data = addr; pcm_size = size; -#if !defined(AUDIOHW_MUTE_ON_PAUSE) && defined(AUDIOHW_MUTE_ON_SRATE_CHANGE) +#if !defined(AUDIOHW_MUTE_ON_STOP) && defined(AUDIOHW_MUTE_ON_SRATE_CHANGE) audiohw_mute(false); #endif @@ -681,7 +667,7 @@ void pcm_play_dma_start(const void *addr, size_t size) switch (state) { case SND_PCM_STATE_RUNNING: -#if defined(AUDIOHW_MUTE_ON_PAUSE) +#if defined(AUDIOHW_MUTE_ON_STOP) audiohw_mute(false); #endif return; @@ -740,11 +726,6 @@ void pcm_play_dma_start(const void *addr, size_t size) break; } - case SND_PCM_STATE_PAUSED: - { /* paused, simply resume */ - pcm_play_dma_pause(0); - return; - } case SND_PCM_STATE_DRAINING: /* run until drained */ continue; @@ -850,11 +831,6 @@ void pcm_rec_dma_start(void *start, size_t size) panicf("Start error: %s", snd_strerror(err)); return; } - case SND_PCM_STATE_PAUSED: - { /* paused, simply resume */ - pcm_play_dma_pause(0); - return; - } case SND_PCM_STATE_DRAINING: /* run until drained */ continue; diff --git a/firmware/target/hosted/sdl/pcm-sdl.c b/firmware/target/hosted/sdl/pcm-sdl.c index 877ca5a482..ba43ece543 100644 --- a/firmware/target/hosted/sdl/pcm-sdl.c +++ b/firmware/target/hosted/sdl/pcm-sdl.c @@ -124,14 +124,6 @@ void pcm_play_dma_stop(void) #endif } -void pcm_play_dma_pause(bool pause) -{ - if (pause) - SDL_PauseAudio(1); - else - SDL_PauseAudio(0); -} - size_t pcm_get_bytes_waiting(void) { return pcm_data_size; diff --git a/firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c b/firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c index ef2597ae69..1ce0b5ad5f 100644 --- a/firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c @@ -184,18 +184,6 @@ void pcm_play_unlock(void) restore_irq(flags); } -void pcm_play_dma_pause(bool pause) -{ - int flags = disable_irq_save(); - - if(pause) - REG_DMAC_DCCSR(DMA_AIC_TX_CHANNEL) &= ~DMAC_DCCSR_EN; - else - REG_DMAC_DCCSR(DMA_AIC_TX_CHANNEL) |= DMAC_DCCSR_EN; - - restore_irq(flags); -} - static int get_dma_count(void) { int count = REG_DMAC_DTCR(DMA_AIC_TX_CHANNEL); diff --git a/firmware/target/mips/ingenic_jz47xx/pcm-jz4760.c b/firmware/target/mips/ingenic_jz47xx/pcm-jz4760.c index 098c28ecf5..4a4f3020bb 100644 --- a/firmware/target/mips/ingenic_jz47xx/pcm-jz4760.c +++ b/firmware/target/mips/ingenic_jz47xx/pcm-jz4760.c @@ -173,18 +173,6 @@ void pcm_play_unlock(void) restore_irq(flags); } -void pcm_play_dma_pause(bool pause) -{ - int flags = disable_irq_save(); - - if(pause) - REG_DMAC_DCCSR(DMA_AIC_TX_CHANNEL) &= ~DMAC_DCCSR_EN; - else - REG_DMAC_DCCSR(DMA_AIC_TX_CHANNEL) |= DMAC_DCCSR_EN; - - restore_irq(flags); -} - static int get_dma_count(void) { int count = REG_DMAC_DTCR(DMA_AIC_TX_CHANNEL); |