SND_HDA(4) BSD Kernel Interfaces Manual SND_HDA(4)NAME
snd_hda — Intel High Definition Audio bridge device driver
SYNOPSIS
To compile this driver into the kernel, place the following lines in your
kernel configuration file:
device pcm
device snd_hda
Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):
snd_hda_load="YES"
DESCRIPTION
The snd_hda bridge device driver allows the generic audio driver,
sound(4), to attach to Intel High Definition Audio devices. The snd_hda
driver supports hardware that conforms with revision 1.0 of the Intel
High Definition Audio specification and tries to behave much like the Mi‐
crosoft Universal Audio Architecture (UAA) draft (revision 0.7b) for han‐
dling audio devices. HDA acts like a primary bus, similar to miibus(4),
for handling various child buses such as audio, modem and HDMI (High Def‐
inition Multimedia Interface). Only audio is implemented in the snd_hda
driver.
The High Definition (HD) Audio specification was developed by Intel as
the logical successor of the old AC'97 specification and has several
advantages, such as higher bandwidth which allows more channels and more
detailed formats, support for several logical audio devices, and general
purpose DMA channels.
The HDA specification defines the register-level interface, physical link
characteristics, codec programming models, and codec architectural compo‐
nents. This specification is intended for both device driver developers
and hardware component designers.
Runtime Configuration
The following sysctl(8) variables are available in addition to those
available to all sound(4) devices:
dev.pcm.%d.polling Experimental polling mode, where the driver
operates by querying the device state on each
tick using callout(9). Polling is disabled by
default. Do not enable it unless you are fac‐
ing weird interrupt problems or if the device
cannot generate interrupts at all.
HARDWARE
The snd_hda driver supports the following audio chipsets:
· ATI SB450
· ATI SB600
· Intel 631x/632xESB
· Intel 82801F
· Intel 82801G
· Intel 82801H
· nVidia MCP51
· nVidia MCP55
· nVidia MCP61A
· nVidia MCP61B
· nVidia MCP65A
· nVidia MCP65B
· SiS 966
· VIA VT8251/8237A
Generic audio chipsets compatible with the Intel HDA specification should
work, but have not been verified yet. The following codecs have been
verified to work:
· Analog Device AD1981HD
· Analog Device AD1983
· Analog Device AD1986A
· Analog Device AD1988
· CMedia CMI9880
· Conexant Venice
· Conexant Waikiki
· Realtek ALC260
· Realtek ALC262
· Realtek ALC861
· Realtek ALC861VD
· Realtek ALC880
· Realtek ALC882
· Realtek ALC883
· Realtek ALC885
· Realtek ALC888
· Sigmatel STAC9220
· Sigmatel STAC9220D/9223D
· Sigmatel STAC9221
· Sigmatel STAC9221D
· Sigmatel STAC9227
· Sigmatel STAC9271D
· VIA VT1708
· VIA VT1709
SEE ALSOsound(4), loader.conf(5), sysctl(8)HISTORY
The snd_hda device driver first appeared in FreeBSD 7.0.
AUTHORS
The snd_hda driver was written by Stephane E. Potvin
⟨sepotvin@videotron.ca⟩ and Ariff Abdullah ⟨ariff@FreeBSD.org⟩. This
manual page was written by Joel Dahl ⟨joel@FreeBSD.org⟩.
BUGS
There are a couple of missing features, such as support for Digital
S/PDIF and multichannel output.
A few Hardware/OEM vendors tend to screw up BIOS settings, thus rendering
the snd_hda driver useless, which usually results in a state where the
snd_hda driver seems to attach and work, but without any sound.
BSD May 5, 2007 BSD