Hi.I've got a problem with playing audio in i.mx28 EVK.Would anyone help me?Thanks.
Details showed follow:
Issue Details |
||
Reproducibility: | Sometimes | |
Steps to Reproduce: | Loop to playback a small sound file(such as a WAV with 3 seconds).For example,execute shell script bellow: #!/bin/sh while : do echo "aplay again..." aplay test.wav #play a small audio file which hold 3 seconds. done |
|
Expected Result: | The audio should work without trouble forever. | |
Observed Result: | After repeat-playing for some times(maybe several hours or more),the "aplay" would be blocked.Then,neither re-executing "aplay" nor reloading audio-related drivers(alsa driver,sgtl5000,DAI,DMA,and so on.. ) can solve this problem until reboot the system. | |
Subject: | i.mx28 audio works unexpected. Audio data can not be sent to I2S's FIFOs from DMA module. | |
Description: | We have approved that: the problem takes because of data in DMA module can not be sent to I2S's FIFOs(Note that,we wrote audio data directly to HW_SAIF_DATA after problem appeared,the audio data was sent to sgtl5000 immediately ).When problem appeared,we record the registers value as follow: HW_APBX_CTRL1 = 0x00500000 HW_APBX_CTRL2 = 0x0 HW_APBX_CH4_CURCMDAR = 0x40c0a3c0 HW_APBX_CH4_NXTCMDAR = 0x40c0a360 HW_APBX_CH4_CMD = 0x2000000e HW_APBX_CH4_BAR = 0x40c20020 HW_APBX_CH4_SEMA = 0x00010000 HW_APBX_CH4_DBG1 = 0x0160000d HW_APBX_CH4_DBG2 = 0x20001fe0 HW_SAIF_CTRL = 0x08000801 HW_SAIF_STAT = 0x80000050 HW_SAIF_DATA = 0x0 HW_SAIF_VER = 0x01010000 Oh,God. My poor English!!! |