Hi all,
We are facing one more problem from the ALSA audio driver in DM8168(Netra) based EVM board.
Once in a while there is a sudden change in the H/W ring buffer pointer which is getting updated from the ISR.
Please find the backtrace of ISR in which pointer has to be updated.
If interrupt is coming in the proper rate the hardware pointer is supposed to be updated only by a 160 or less as
we are setting ALSA to use 2560 as the ring buffer size.
At times, the value returned by edma_get_position is incremented and huge value and the next read it is decremented by 63.
Always the difference is 63.
We are using TI drivers without any customization.
CPU utilization looks to be fine(less than 20%)
Is this a interrupt missing case? or the ALSA setting is having a problem.
Could you please give some pointers on the same.
Regards,
Nitish James
Backtrace:
[<c0047b44>] (dump_backtrace+0x0/0x110) from [<c004831c>] (show_stack+0x18/0x1c)
r7:00002070 r6:c5c6a400 r5:60000193 r4:c6a94e00
[<c0048304>] (show_stack+0x0/0x1c) from [<c02d7a4c>] (snd_pcm_update_hw_ptr0+0x28/0x5f4)
[<c02d7a24>] (snd_pcm_update_hw_ptr0+0x0/0x5f4) from [<c02d8078>] (snd_pcm_period_elapsed+0x60/0xb0)
[<c02d8018>] (snd_pcm_period_elapsed+0x0/0xb0) from [<c02f228c>] (davinci_pcm_dma_irq+0x60/0x64)
r7:00002070 r6:00002068 r5:0000000c r4:c6a94e00
[<c02f222c>] (davinci_pcm_dma_irq+0x0/0x64) from [<c004d754>] (dma_irq_handler+0xec/0x12c)
r5:0000000c r4:0000000d
[<c004d668>] (dma_irq_handler+0x0/0x12c) from [<c009599c>] (handle_IRQ_event+0x2c/0xec)
[<c0095970>] (handle_IRQ_event+0x0/0xec) from [<c0097b80>] (handle_level_irq+0xac/0x11c)
r7:00000008 r6:00000000 r5:0000000c r4:c04e501c
[<c0097ad4>] (handle_level_irq+0x0/0x11c) from [<c003907c>] (asm_do_IRQ+0x7c/0xa0)
r5:c5d93dd0 r4:0000000c
[<c0039000>] (asm_do_IRQ+0x0/0xa0) from [