]> git.openfabrics.org - ~emulex/infiniband.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)
commit3a3d5fd125f82200019ef406c4d51ba4d9f0a604
tree6924e2208e48cd2c8e7c021f47ccbc031c038104
parent5daeba34d2aab669aea07abee13d53cd116578fb
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