27 Jul
2009
27 Jul
'09
9:43 a.m.
Dear Takashi
Thank you for your comment
when 1st buffer was send, driver stop. 2nd trigger function isn't called.
Check the raw value returned from the pointer callback, too. This can be the real cause.
I might have been doing a very big misunderstanding.
The pointer callback is supposed to give the currently played position offset in a ring buffer, and ranged from 0 to buffer_size-1.
Does this "ring buffer" mean I should transmit runtime->dma_area many times from offset 0x0 ??
=> when I call 4th elapsed, should I send runtime->dma_area + 0x0 again ?
If so, my driver get STOP on trigger funtion many times even if I didn't stop it.
START STOP underrun!!! START STOP underrun!!! ...
Does this correct operation ?
Best regards -- Kuninori Morimoto