コード例 #1
0
void pcm_play_dma_stop(void)
{
    is_playing = false;

    dma_disable_channel(0);

    /* Ensure byte counts read back 0 */
    DMAC_CH_SRC_ADDR(0) = 0;
    dma_start_addr = NULL;
    dma_start_size = 0;
    dma_rem_size = 0;

    dma_release();

#ifdef HAVE_RECORDING
    if (!is_recording)
        bitclr32(&CGU_AUDIO, (1<<11));
#endif

    play_callback_pending = false;
}
コード例 #2
0
ファイル: dma_interface.c プロジェクト: Dzenik/kernel-source
/**
 * sw_dma_release - free a dma channel
 * @dma_hdl:	dma handle
 *
 * Returns 0 if sucess, otherwise failed
 */
u32 sw_dma_release(dma_hdl_t dma_hdl)
{
	BUG_ON(unlikely(!dma_handle_is_valid(dma_hdl)));
	dma_release(dma_hdl);
	return 0;
}