DragonFly BSD
DragonFly kernel List (threaded) for 2012-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: ALSA drivers


From: Chris Turner <c.turner@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 11 Oct 2012 07:44:02 -0500

On 10/11/12 00:00, Andrey N. Oktyabrski wrote:
> I have seen into the emu10k1.c, and do not understand anything.
 > What documentation I can read about DragonFly and audio drivers?

Probably the best overall documentation for driver basics is:

The Design and Implementation of the FreeBSD Operating System
  By Marshall Kirk McKusick, George V. Neville-Neil

Though quite a bit is different these days, much is still the same,
and the high-level organizational stuff is pretty similar.

Looking at something more basic in any given device class is
probably a good way to start (e.g. ugen, etc), since the
parts about 'how to plugin to the kernel' are less cluttered
with 'how to program the specific hardware'.

As for sound hardware background specifically - I don't know of
any references, though probably something on DOS game programming
might be a good guide, since many of the games in the DOS era had
to deal with the HW directly, and the simplicity of DOS makes
this straightforward to understand. One thing to remember is that
much of existing devices are simply small improvements to older
designs, so even if it seems like an old device, it is probably
still useful to some extent.

That and developer specs from hardware vendors where available
would probably be handy for more modern stuff.

>> A usb4bsd port from FreeBSD is underway.. this may change things.
>> hopefully for the better.
>> A similar uaudiodebug sysctl += USB_DEBUG flag is available fro the
>> uaudio driver
>> which might help find some issues.
> Thank you, I will try to debug these drivers...

FYI the usb4bsd driver merge just got pushed to main -
including uaudio - so, probably your testing /debugging efforts
would be appreciated there! See the mail on users@ on how to
setup / test.

Cheers,

- Chris



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]