Mike Looijmans wrote:
If I enable the "jiffies check", what is my driver doing wrong if I get this complaint on the kernel log while capturing:
PCM: hw_ptr skipping! (pos=13677, delta=876, period=6400, jdelta=0/17/0, hw_ptr=1241601/1241601)
"hw_ptr skipping" means that the hw_ptr is skipping. Er, the value returned by the .pointer callback moves too far in a too short amount of time.
hwptr log: pcmC6D0c:0 [Q]: j=19310, pos=12801/6400/25600, hwptr=1236601/1228800 hwptr log: pcmC6D0c:0 [ ]: j=19310, pos=13677/6400/25600, hwptr=1241601/1228800
The interrupt and the userspace check happen at almost the same time (same jiffies value), but there is suddenly a jump of 876 frames.
How does your driver compute the .pointer return value? How does this value change?
Regards, Clemens