音频DMA分析结果
测试:DMA:查找imx-sdma与imx-dma. imx-sdma.c最后再查看
printk("ttttttttttttttttttttttttttttttttttt %s %s \n", __func__, __func__);
compat_filter_fn
imx6 pcmͨ·
if (prtd->callback)
desc->callback = prtd->callback;
dmaengine_pcm_prepare_and_submit
snd_dmaengine_pcm_trigger
snd_dmaengine_pcm_trigger
[ 8.395658] ttttttttttttttttttttttttttttttttttt devm_snd_soc_register_component devm_snd_soc_register_component
[ 8.395675] ttttttttttttttttttttttttttttttttttt devm_snd_soc_register_platform devm_snd_soc_register_platform
[ 8.396686] ttttttttttttttttttttttttttttttttttt devm_snd_dmaengine_pcm_register devm_snd_dmaengine_pcm_register
[ 8.396756] ttttttttttttttttttttttttttttttttttt devm_snd_soc_register_component devm_snd_soc_register_component
[ 8.397067] ttttttttttttttttttttttttttttttttttt devm_snd_dmaengine_pcm_register devm_snd_dmaengine_pcm_register
[ 8.397124] ttttttttttttttttttttttttttttttttttt devm_snd_soc_register_component devm_snd_soc_register_component
[ 8.397436] ttttttttttttttttttttttttttttttttttt devm_snd_dmaengine_pcm_register devm_snd_dmaengine_pcm_register
[ 8.397487] ttttttttttttttttttttttttttttttttttt devm_snd_soc_register_component devm_snd_soc_register_component
[ 8.398394] ttttttttttttttttttttttttttttttttttt devm_snd_soc_register_card devm_snd_soc_register_card
------------------------------------------------------------
devm_snd_soc_register_component devm_snd_soc_register_component
devm_snd_soc_register_platform devm_snd_soc_register_platform
dma_params_tx.maxburst = 13 ssi_private->dma_params_rx.maxburst = 13
fsl_ssi_imx_probe imx_pcm_dma_init
imx_pcm_dma_init imx_pcm_dma_init
devm_snd_dmaengine_pcm_register devm_snd_dmaengine_pcm_register
snd_dmaengine_pcm_register snd_dmaengine_pcm_register
dmaengine_pcm_request_chan_of dmaengine_pcm_request_chan_of
devm_snd_soc_register_component devm_snd_soc_register_component
dma_params_tx.maxburst = 13 ssi_private->dma_params_rx.maxburst = 13
fsl_ssi_imx_probe imx_pcm_dma_init
imx_pcm_dma_init imx_pcm_dma_init
devm_snd_dmaengine_pcm_register devm_snd_dmaengine_pcm_register
snd_dmaengine_pcm_register snd_dmaengine_pcm_register
dmaengine_pcm_request_chan_of dmaengine_pcm_request_chan_of
devm_snd_soc_register_component devm_snd_soc_register_component
dma_params_tx.maxburst = 13 ssi_private->dma_params_rx.maxburst = 13
fsl_ssi_imx_probe imx_pcm_dma_init
imx_pcm_dma_init imx_pcm_dma_init
devm_snd_dmaengine_pcm_register devm_snd_dmaengine_pcm_register
snd_dmaengine_pcm_register snd_dmaengine_pcm_register
dmaengine_pcm_request_chan_of dmaengine_pcm_request_chan_of
devm_snd_soc_register_component devm_snd_soc_register_component
devm_snd_soc_register_card devm_snd_soc_register_card
dmaengine_pcm_new dmaengine_pcm_new
soc_platform_to_pcm soc_platform_to_pcm
dmaengine_dma_dev dmaengine_dma_dev
dmaengine_pcm_can_report_residue dmaengine_pcm_can_report_residue
dmaengine_dma_dev dmaengine_dma_dev
dmaengine_pcm_can_report_residue dmaengine_pcm_can_report_residue
imx-ak7738codec sound: ak7738codec <-> 202c000.ssi mapping ok
dmaengine_pcm_new dmaengine_pcm_new
soc_platform_to_pcm soc_platform_to_pcm
dmaengine_dma_dev dmaengine_dma_dev
dmaengine_pcm_can_report_residue dmaengine_pcm_can_report_residue
dmaengine_dma_dev dmaengine_dma_dev
dmaengine_pcm_can_report_residue dmaengine_pcm_can_report_residue
imx-tef663x sound_media: tef663x <-> 2030000.ssi mapping ok
dmaengine_pcm_new dmaengine_pcm_new
soc_platform_to_pcm soc_platform_to_pcm
dmaengine_dma_dev dmaengine_dma_dev
dmaengine_pcm_can_report_residue dmaengine_pcm_can_report_residue
dmaengine_dma_dev dmaengine_dma_dev
dmaengine_pcm_can_report_residue dmaengine_pcm_can_report_residue
imx-pcm178x sound_navi: pcm178x <-> 2028000.ssi mapping ok
DMA调用时序图
*/
1、dmaengine_pcm_open dmaengine_pcm_open
2、snd_pcm_lib_ioctl 11111111111111 snd_pcm_lib_ioctl SNDRV_PCM_IOCTL1_INFO
3、while(10)
snd_pcm_lib_ioctl 4444444444444444444 snd_pcm_lib_ioctl SNDRV_PCM_IOCTL1_FIFO_SIZE
4、dmaengine_pcm_hw_params dmaengine_pcm_hw_params
------>imx_pcm_dma_prepare_slave_config imx_pcm_dma_prepare_slave_config
5、 while(2)
snd_pcm_lib_ioctl 333333333333333 snd_pcm_lib_ioctl SNDRV_PCM_IOCTL1_CHANNEL_INFO
snd_pcm_lib_ioctl 22222222222222222 snd_pcm_lib_ioctl SNDRV_PCM_IOCTL1_RESET
6、
snd_dmaengine_pcm_trigger 111111111111111 snd_dmaengine_pcm_trigger SNDRV_PCM_TRIGGER_START
dmaengine_pcm_prepare_and_submit
dmaengine_submit
7、while(2)
snd_pcm_lib_ioctl 11111111111111 snd_pcm_lib_ioctl SNDRV_PCM_IOCTL1_INFO
8、dmaengine_pcm_pointer dmaengine_pcm_pointer
------------------------------------------------------------
imx_pcm_dma_complete imx_pcm_dma_complete
dmaengine_pcm_pointer dmaengine_pcm_pointer
soc_platform_to_pcm soc_platform_to_pcm
——————————————————————————————————————————————
9、 snd_dmaengine_pcm_trigger 5555555555555 snd_dmaengine_pcm_trigger SNDRV_PCM_TRIGGER_STOP
10、 snd_pcm_lib_free_pages snd_pcm_lib_free_pages
11、 snd_dmaengine_pcm_close snd_dmaengine_pcm_close
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
