Thanks Clemens for the response.
Can you please help me understand where can be the issue in driver? Aplay -M works fine, only Dmix doesnt work. As I explained, I can see that kernel is not getting DMA interrupts because DMA has not initiated yet,as kernel doesn't have any data in its ring buffer, application pointer is zero. With these observations I assume the issue is in Dmix, it is not incrementing the appl pointer. Correct me If I am wrong.
If I hack the dmix code(pcm_dmix.c) by incrementing the application pointer(dmix->spcm->private_data->sync_ptr->c.control.appl_ptr) after mixing by number of frames written explicitly , it works. But I strongly believe this is not the fix and I am yet to figure out the actual issue.
Regards, Anoop
On Thu, Jan 26, 2017 at 1:22 PM, Clemens Ladisch clemens@ladisch.de wrote:
Anoop Rajan wrote:
I am trying to play a song using dmix plugin using AlsaLib(1.0.29) , My kernel (Linux 3.8)hangs at poll() on snd timer interface.When I debugged further, I understood that poll hangs because of DMA interrupt (snd_pcm_period_elapsed)not been received.
This sounds like a bug in the driver.
Regards, Clemens