[RFT]: RME HDSPe AIO sound driver

Ruslan Bukin br at bsdpad.com
Sun Feb 12 19:41:40 UTC 2012


On Tue, Feb 07, 2012 at 06:25:01PM +0400, Ruslan Bukin wrote:
> On Tue, Feb 07, 2012 at 11:35:23AM +0200, Alexander Motin wrote:
> > 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.
> > 

Code updated.

Now snd_hdspe creates several pcm devices (childs)
and follows sound(4) for latency control.

Code also splitted to three files:
hdspe.c
hdspe.h
hdspe-pcm.c

http://bsdpad.com/hdspe/

-Ruslan


More information about the freebsd-multimedia mailing list