]> git.baikalelectronics.ru Git - kernel.git/commit
sis7019: fix capture issues with multiple periods per buffer
authorDavid Dillow <dave@thedillows.org>
Sat, 26 Jun 2010 22:04:32 +0000 (00:04 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 28 Jun 2010 07:42:18 +0000 (09:42 +0200)
commit033d072e636f30b03cfaf0c7828ba564c2065bcb
tree6924e2208e48cd2c8e7c021f47ccbc031c038104
parent8279ef926fc4d401d90afaee7a297a3ba680bfdf
sis7019: fix capture issues with multiple periods per buffer

When using a timing voice to clock out periods during capture, the
driver would slowly loose synchronization and never catch up, eventually
reaching a point where it no longer generated interrupts. To avoid
this situation, the virtual period clocking was changed to shorten the
next timing period when our timing voice falls too far behind the
capture voice. In addition, the first virtual period for the timing
voice was slightly too short, causing the timing voice to initially be
ahead of the capture voice.

While tracking down this problem, I noticed that the expected sample
offset was being incorrectly initialized, causing an overrun to be
incorrectly reported when the timing voice happened to be perfectly
synchronized.

Reported-by: Hans Schou <linux@schou.dk>
Signed-off-by: Dave Dillow <dave@thedillows.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sound/pci/sis7019.c