HDAUDIO(4)              NetBSD Kernel Interfaces Manual             HDAUDIO(4)

NAME
     hdaudio -- High Definition Audio device driver

SYNOPSIS
     hdaudio* at pci? dev ? function ?
     hdafg* at hdaudiobus?
     audio* at audiobus?

     options HDAUDIO_DEBUG
     options HDAUDIO_AFG_DEBUG

DESCRIPTION
     The hdaudio device driver is expected to support any PCI device which is
     compliant to the High Definition Audio Specification 1.0.  It is a
     replacement for azalia(4).  It was written from scratch following the
     Intel HD Audio and Microsoft Universal Audio Architecture specifications.

     The driver consists of two interlinked components, which reflects the
     hardware design.  The hdaudio component interfaces with a PCI/PCIe bus
     and provides an hdaudiobus(4) onto which different function groups
     attach.  Each function group (e.g. audio, vendor-specific modem) is
     exported as a separate child device of the hdaudio controller.  Audio
     function groups (a.k.a. audio codec) are exported as hdafg(4) devices.

     Audio codecs are available from a number of manufacturers and are made up
     of a number of widgets (e.g. audio mixer, output pin, analog-to-digital
     converter).  The way the widgets are interlinked varies significantly
     between implementations.  The tree of widgets must be parsed and mapped
     to mixer(4) controls.  As part of this process, loops in the inter-codec
     links must be detected and muted, bi-directional pins must be set up
     appropriately and the locations of pins determined.  Unlike the azalia(4)
     driver (which tends to generate a large number of unclearly named
     mixer(4) controls), hdaudio works backwards by starting with a list of
     desired, consistent and compatible mixer(4) controls and configuring/dis-
     covering appropriate widget link routes to fit.

     By following the published mechanisms for common implementations of wid-
     get parsing, it is expected that nearly all High Definition Audio devices
     will be supported without requiring per-device quirks.

SEE ALSO
     audio(4), mixer(4), pci(4), hdaudioctl(8),
     http://www.intel.com/standards/hdaudio/
     http://www.microsoft.com/whdc/device/audio/

HISTORY
     The hdaudio device driver appeared in NetBSD 5.1.

AUTHORS
     The hdaudio driver was written by Jared McNeill <jmcneill@NetBSD.org>
     under contract by
     Precedence Technologies Ltd <http://www.precedence.co.uk/>.  The UAA-com-
     pliant widget parser is derived from the FreeBSD snd_hda(4) driver.

BUGS
     The following items are not yet implemented:

     +   Improve power management support when driver is idle

     +   Add support for non-PCM output formats

     +   Handle unsolicited RIRB messages

     +   Modem function groups

NetBSD 5.1                    September 28, 2010                    NetBSD 5.1

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2014 Modified for NetBSD by Kimmo Suominen