dmasound split

Richard Zidlicky Richard.Zidlicky at stud.informatik.uni-erlangen.de
Sat Mar 25 06:16:50 EST 2000


Hi Geert,

found the bug that caused jerky play with the splitted driver (did you get
my PM with the bug description??).

The problem is with sq_setup() or its invocation, with the default 32K
buffer size sq_setup gets called with a bufSize argument of 32  !!
So it sets write_sq accordingly and little surprise - a buffer size of 32
bytes is not enough for smooth playing.
It appears as this bug would affect all architectures.

Right now I have added following crude hack to dmasound_core.c:sq_setup and
it works nicely:

	printk("sq_setup: bufSize is %d\n",bufSize);
	if (bufSize<129) bufSize= bufSize<<10;
	sq->block_size = bufSize;

dmasound_core.c is cluttered with quite a few 'bufSize<<10' statements at
random places which shloud be IMHO fixed properly, ie it should be done
once at driver initialisation time. The old dmasound.c wasn't much better
in this respect but at least it didn't have this bug.

Anyway here are the files I have changed (sent as bzip2 mime-attachment so
Jes won't stumble upon it ;-).

Bye
Richard



-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmasound-new.tar.bz2
Type: application/octet-stream
Size: 21719 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20000324/989d522d/attachment.obj>


More information about the Linuxppc-dev mailing list