Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 02 Sep 2009 13:01:50 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        Andriy Gapon <avg@icyb.net.ua>
Cc:        freebsd-multimedia@FreeBSD.org
Subject:   Re: forcing two channel output
Message-ID:  <4A9E428E.7010401@FreeBSD.org>
In-Reply-To: <4A9E40B9.2050004@icyb.net.ua>
References:  <4A980B19.4090801@icyb.net.ua> <4A9815F3.9010601@FreeBSD.org> <4A9E40B9.2050004@icyb.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Andriy Gapon wrote:
> on 28/08/2009 20:37 Alexander Motin said the following:
>> Andriy Gapon wrote:
>>> Please see verbose dmesg here:
>>> http://people.freebsd.org/~avg/ga-ma780g-ud3h/verbose.dmesg.txt
> [snip]
>> You can do whatever you like: disable them with as=0 or turn into many 
>> separate devices with as=15, or even turn them into many additional 
>> inputs.
> 
> Alexandr,
> 
> so I thought that splitting them off into separate devices was a cool 
> idea and I did the following:
> hint.hdac.1.cad0.nid21.config="as=15 seq=0"
> hint.hdac.1.cad0.nid22.config="as=15 seq=0"
> hint.hdac.1.cad0.nid23.config="as=15 seq=0"
> 
> Now I got 3 additional pcm/dsp devices.
> New dmesg is available here:
> http://people.freebsd.org/~avg/ga-ma780g-ud3h/verbose.2.dmesg.txt
> 
> New setup works but it is not without problems.
> 1. Output to dsp4 works perfectly.
> 
> 2. Output to dsp6 doesn't work at all - a process writing to it gets 
> stuck and the following can be seen in system log:
> pcm6: chn_write(): pcm6:virtual:dsp6.vp0: play interrupt timeout, 
> channel dead
> hdac1: timeout in reset
> 
> 3. Output to dsp5 is the most strange. If I write to it after using dsp4 
> then it works but sound goes to the same jack as for dsp4 (Black at 
> Rear). If I write to it after using dsp6 then it doesn't work just the 
> same as dsp6 itself. The same message go to the log (with "dsp6") in them.
> 
> I suspect that there could be some hardware quirk, but I think that the 
> behavior of dsp5 points to a possible driver issue.

HDA controllers have limitations on number of data streams. You can see 
it if boot with hw.snd.verbose=4. Usually there are 4 streams supported. 
snd_hda allocates them statically now, one device - one data stream. So 
you just could hit this limitation because of big number of devices. It 
would be good to allocate streams dynamically on open, but it is not 
implemented now.

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A9E428E.7010401>