At Sat, 3 May 2008 21:12:19 -0400, Lee Revell wrote:
On Wed, Apr 23, 2008 at 9:18 PM, Lennart Poettering mznyfn@0pointer.de wrote:
The happens to be configured to 2 periods. So even if _avail_update() has some kind of period granularity (?) it should always have told us after we come back from the sleeping that at least *one* period is free. But it said 0 frames. Nada. Rien. Nichts. Kaputt.
Should we just disallow 2 periods per buffer on HDA intel? I've never heard of it working for anyone on the JACK and linux audio user lists with less than 3.
It's actually not the number of periods. The fact is that the DMA position is somehow inaacurate on HD-audio hardwares. This should be fixed instead of a workaround. Setting the periods to 3 doesn't assure that any apps works. (For JACK, a different position_fix would work, but this may cause another problem with dmix, etc, BTW.)
The similar side-effect is found on other drivers which typically use timer-like IRQs.
Takashi