PXA270 audio problem

Santhosh N san.mlists at gmail.com
Thu Sep 23 03:05:22 EDT 2010


Hi,

Following are the AC97 and DMA register dumps. I am printing out the
DMA registers from the pxa2xx_pcm_trigger function.

I have noticed that, the touchscreen and audio record continues to
work after the problem. In the problem state, the DMA interrupts occur
for audio record but not for playback.

AC97:
BeforeProblem			AfterProblem
0:00 = 02a0			0:00 = 02a0
0:02 = 0d0d			0:02 = 0d0d
0:04 = 0000			0:04 = 0000
0:06 = 0000			0:06 = 0000
0:08 = 0000			0:08 = 0000
0:0a = 0000			0:0a = 0000
0:0c = 0000			0:0c = 0000
0:0e = 0000			0:0e = 0000
0:10 = 0000			0:10 = 0000
0:12 = 0000			0:12 = 0000
0:14 = 0000			0:14 = 0000
0:16 = 0000			0:16 = 0000
0:18 = 0000			0:18 = 0000
0:1a = 0000			0:1a = 0000
0:1c = 0000			0:1c = 0000
0:1e = 0000			0:1e = 0000
0:20 = 0000			0:20 = 0000
0:22 = 0000			0:22 = 0000
0:24 = 0000			0:24 = 0000
0:26 = 000b			0:26 = 000b
0:28 = 0001			0:28 = 0001
0:2a = 0001			0:2a = 0001
0:2c = 5622			0:2c = 3e80
0:2e = 0000			0:2e = 0000
0:30 = 0000			0:30 = 0000
0:32 = bb80			0:32 = bb80
0:34 = 0000			0:34 = 0000
0:36 = 0000			0:36 = 0000
0:38 = 0000			0:38 = 0000
0:3a = 0000			0:3a = 0000
0:3c = 0000			0:3c = 0000
0:3e = 0000			0:3e = 0000
0:40 = 0000			0:40 = 0000
0:42 = 0000			0:42 = 0000
0:44 = 0000			0:44 = 0000
0:46 = 0000			0:46 = 0000
0:48 = 0000			0:48 = 0000
0:4a = 0000			0:4a = 0000
0:4c = 0000			0:4c = 0000
0:4e = 0000			0:4e = 0000
0:50 = 0000			0:50 = 0000
0:52 = 0000			0:52 = 0000
0:54 = 0000			0:54 = 0000
0:56 = 0000			0:56 = 0000
0:58 = 0000			0:58 = 0000
0:5a = 0000			0:5a = 0000
0:5c = 0000			0:5c = 0000
0:5e = 0000			0:5e = 0000
0:60 = 0000			0:60 = 0000
0:62 = 0000			0:62 = 0000
0:64 = 0948			0:64 = 0948
0:66 = 0000			0:66 = 0000
0:68 = 824b			0:68 = 824b
0:6a = 0050			0:6a = 0050
0:6c = 0030			0:6c = 0030
0:6e = 2004			0:6e = 2004
0:70 = 0000			0:70 = 0000
0:72 = 0000			0:72 = 0000
0:74 = 0000			0:74 = 0000
0:76 = 0000			0:76 = 0000
0:78 = 0000			0:78 = 0000
0:7a = 0000			0:7a = 0000
0:7c = 5053			0:7c = 5053
0:7e = 4304			0:7e = 4304

Only diff in the above is in the 02C(Audio sample rate control) register.

DMA:
BeforeProblem
::: DMA Channel: 8, Trigger Start
DDADR = 0xB714A010
DSADR = 0xB7100040
DTADR = 0x40500040
DCMD  = 0x9023CFC0
DCSR  = 0x80000000
::: DMA Channel: 8, Trigger Stop
DDADR = 0xB714A0E0
DSADR = 0xB710D000
DTADR = 0x40500040
DCMD  = 0x9023D000
DCSR  = 0x00000008


AfterProblem
::: DMA Channel: 8, Trigger Start
DDADR = 0xB70B7010
DSADR = 0xB7100000
DTADR = 0x40500040
DCMD  = 0x9023D000
DCSR  = 0x80000000
ALSA sound/core/pcm_native.c:1512: playback drain error (DMA or IRQ trouble?)
::: DMA Channel: 8, Trigger Stop
DDADR = 0xB70B7010
DSADR = 0xB7100000
DTADR = 0x40500040
DCMD  = 0x9023D000
DCSR  = 0x00000008

Each dump above is after playing a mp3 file using madplay.

Regards,
Santhosh N

On Thu, Sep 23, 2010 at 11:38 AM, Eric Miao <eric.y.miao at gmail.com> wrote:
> On Thu, Sep 23, 2010 at 1:33 PM, Santhosh N <san.mlists at gmail.com> wrote:
>> Dear All,
>>
>> I am running linux 2.6.26 kernel on a PXA270 board. A UCB1400 chip
>> used for audio and touchscreen in that. I have been facing a problem
>> with audio.
>>
>> The audio plays properly, but suddenly stops. I get the following message:
>> ALSA sound/core/pcm_native.c:1513: playback drain error (DMA or IRQ trouble?)
>>
>> I have noticed that the DMA interrupts stop coming. Where as the AC97
>> interrupts come properly.
>>
>> Any help in solving this will be grateful.
>>
>
> Dumping the DMA registers and the AC97 controller registers would
> be helpful.
>
>> Regards,
>> Santhosh N
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>



More information about the linux-arm-kernel mailing list