Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Feb 2012 23:41:38 +0400
From:      Ruslan Bukin <br@bsdpad.com>
To:        freebsd-multimedia@FreeBSD.org
Cc:        Alexander Motin <mav@FreeBSD.org>
Subject:   Re: [RFT]: RME HDSPe AIO sound driver
Message-ID:  <20120212194138.GA87071@jail.io>
In-Reply-To: <20120207142501.GA92130@jail.io>
References:  <mailpost.1328605801.1076865.63172.mailing.freebsd.multimedia@FreeBSD.cs.nctu.edu.tw> <4F30F05B.7050803@FreeBSD.org> <20120207142501.GA92130@jail.io>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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