Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Feb 2012 11:35:23 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        Ruslan Bukin <br@bsdpad.com>
Cc:        freebsd-multimedia@freebsd.org
Subject:   Re: [RFT]: RME HDSPe AIO sound driver
Message-ID:  <4F30F05B.7050803@FreeBSD.org>
In-Reply-To: <mailpost.1328605801.1076865.63172.mailing.freebsd.multimedia@FreeBSD.cs.nctu.edu.tw>
References:  <mailpost.1328605801.1076865.63172.mailing.freebsd.multimedia@FreeBSD.cs.nctu.edu.tw>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi.

First of all, thank you!

On 02/07/12 11:09, Ruslan Bukin wrote:
> This is driver for RME HDSPe AIO (PCIe - series),
> professional-grade ($800) sound card.
>
> Many things not implemented (like MIDI in/out,
> TCO, WCM and other expansion boards).
>
> So only analog and digital in/out are available.
>
> Driver registers 8 out and 7 in stereo channels,
> each represented as separate device, ie:
> /dev/dsp%d.p%d
> /dev/dsp%d.r%d

I think you are misinterpreting concept of channels used in 
pcm_addchan() function. These channels supposed to provide multiple 
equal playback/record streams -- hardware equivalent of vchans. If in 
your case it is different connectors and you want them to be independent 
-- you should create different PCM/dsp devices for them, like emu10kx or 
hda drivers do.

> Card frequency is in range (32..192) KHz
> and period size (32..4096) samples.
>
> Period size is exported to dev.pcm.%d.period
> sysctl.

Why are you duplicating here the latency control code already 
implemented in sound(4)? You should just follow buffer/block size given 
to you by the sound(4) via hdspechan_setblocksize() and then you can 
control latency in common way via hw.snd.latency_profile and hw.snd.latency.

> Tested on latest HEAD only.
>
> patch here:
> http://bsdpad.com/hdspe/

-- 
Alexander Motin



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