Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

hdafg(4) [netbsd man page]

HDAUDIO(4)						   BSD 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 specifica- tions. 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/discovering appropriate widget link routes to fit. By following the published mechanisms for common implementations of widget 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-compliant widget parser is derived from the FreeBSD snd_hda(4) driver. BUGS
The following items are not yet implemented: o Improve power management support when driver is idle o Add support for non-PCM output formats o Handle unsolicited RIRB messages o Modem function groups BSD
September 28, 2010 BSD

Check Out this Related Man Page

UAUDIO(4)						   BSD Kernel Interfaces Manual 						 UAUDIO(4)

NAME
uaudio -- USB audio device driver SYNOPSIS
uaudio* at uhub? audio* at audiobus? DESCRIPTION
The uaudio driver provides support for USB audio class devices. A USB audio device consists of a number of components: input terminals (e.g. USB digital input), output terminals (e.g. speakers), and a number of units in between (e.g. volume control). The following types of units are handled by the uaudio driver and are accessible via the mixer (see audio(4)) interface: mixer A mixer has a number of inputs and one output. Each input has a control that determines its volume in the output. The name of the control is mixN-S, where N is a number that identifies which mixer it is and S which input. selector A selector unit selects one of multiple audio sources such as mic-in and line-in. The name of the control is selN-S1S2S3..., where N is a number that identifies which selector unit it is and the sequence of Sn indicates candidate units for the audio source. feature A feature unit changes the sound in some way, like bass, treble, mute, or volume. The name of the control is determined in a heuristic way. If the unit changes the sound to a speaker output terminal, the names of the controls may be out- puts.speaker.bass, outputs.speaker.treble, outputs.speaker.mute, outputs.speaker, or likewise. processing A processing unit does one of a number of audio processing functions (e.g., channel up-down mixing, Dolby ProLogic, or cho- rus effects). The name of the on-off control is proN.M-enable, where N is a number that identifies which processing unit it is and M which kind. Depending on the type of processing unit there may be other controls as well. extension An extension unit performs some unspecified audio processing The name of the on-off control is extN-enable, where N is a number that identifies which processing unit it is. For more information the USB Audio class specification is indispensable reading. SEE ALSO
audio(4), usb(4) USB Approved Class Specification Documents, http://www.usb.org/developers/devclass_docs/. HISTORY
The uaudio driver appeared in NetBSD 1.5. BUGS
There is no support for multiple-endpoints audio stream, adaptive recording, async playback, and TYPE-II/III formats. There is the possibility that a device has multiple mixer items which have the same name. BSD
September 20, 2011 BSD
Man Page