uaudio patch, configurable buffer size

Mathew Kanner mat at cnd.mcgill.ca
Mon Mar 7 03:29:17 GMT 2005


On Mar 06, Pyun YongHyeon wrote:
> On Sun, Mar 06, 2005 at 04:28:11PM +0100, Alexander Leidinger wrote:
>  > On Sat, 5 Mar 2005 17:40:05 -0500
>  > Mathew Kanner <mat at cnd.mcgill.ca> wrote:
>  > 
>  > > Hi All,
>  > > 	I couldn't use my usb device because the default buffer size
>  > > (16*1024 bytes) was too much to be allocated (dma changes that
>  > > happened a while ago).  The following is a patch to make it a tunable:
>  > > 
>  > > http://www.cnd.mcgill.ca/~mat/uaudio-HEAD-buffersize-tunable.diff.gz
>  > 
>  > There's an open PR about it. It changes the buffer size. AFAIR it also
>  > talks about changing the value of a parameter to a busdma call instead.
>  > I've patched the busdma call and now the device is detected here (but I
>  > don't hear any output...).
>  > 
>  > I think you should add another set of validation code: The buffer size
>  > is divided by 2 in the code, so I think it should at least print a
>  > warning if "buffsize % 2 != 0".
>  > 
> 
> AFAIK no. The buffer size should be power of 2.
> See pcm_getbuffersize() in sound.c.

	Hi Pyun,
	Darn, I totally forgot about the tunable in the form of
hw.snd.pcm0.buffersize as is used in pcm_getbuffersize.  This probably
means that this patch isn't so necessary.  Though there might be some
value in having a tunable just for uaudio devices since we don't know
the what pcm unit it will be before the devices comes (ok, they're
seqeuential).
	Per your other e-mail, as present in the source, is having the
default size of 16*1024 and doing bus_dma_tag_create with a maxsegz of
0x3fff (16*1024-1) a bug?
	--Mat


More information about the freebsd-multimedia mailing list