4 Jul
2013
4 Jul
'13
1 p.m.
Joel Fernandes wrote:
On 07/01/2013 01:10 AM, Mike Looijmans wrote:
The trouble with the current davinci driver is that the IRQ handler has a real-time requirement, it must finish before the next DMA block completes. This causes most of the buffer overruns on heavily loaded systems.
But how do you get around not calling snd_pcm_period_elapsed in a time-sensitive fashion?
To ensure that other stuff is completed first, snd_pcm_period_elapsed() could be called later from a tasklet. (snd_pcm_period_elapsed() calls the .pointer callback, which could be another source of delays depending on how much hardware accesses it does.)
Regards, Clemens