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