1.\" Copyright (c) 2006 Joel Dahl <joel@FreeBSD.org> 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $FreeBSD: src/share/man/man4/snd_hda.4,v 1.10.2.1 2007/05/15 18:40:22 joel Exp $ 26.\" $DragonFly: src/share/man/man4/snd_hda.4,v 1.2 2007/06/16 17:44:33 hasso Exp $ 27.\" 28.Dd May 5, 2007 29.Dt SND_HDA 4 30.Os 31.Sh NAME 32.Nm snd_hda 33.Nd "Intel High Definition Audio bridge device driver" 34.Sh SYNOPSIS 35To compile this driver into the kernel, place the following lines in your 36kernel configuration file: 37.Bd -ragged -offset indent 38.Cd "device pcm" 39.Cd "device snd_hda" 40.Ed 41.Pp 42Alternatively, to load the driver as a module at boot time, place the 43following line in 44.Xr loader.conf 5 : 45.Bd -literal -offset indent 46snd_hda_load="YES" 47.Ed 48.Sh DESCRIPTION 49The 50.Nm 51bridge device driver allows the generic audio driver, 52.Xr sound 4 , 53to attach to Intel High Definition Audio devices. 54The 55.Nm 56driver supports hardware that conforms with revision 1.0 of the Intel High 57Definition Audio specification and tries to behave much like the Microsoft 58Universal Audio Architecture (UAA) draft (revision 0.7b) for handling audio 59devices. 60HDA acts like a primary bus, similar to 61.Xr miibus 4 , 62for handling various child buses such as audio, modem and HDMI (High Definition 63Multimedia Interface). 64Only audio is implemented in the 65.Nm 66driver. 67.Pp 68The High Definition (HD) Audio specification was developed by Intel as the 69logical successor of the old AC'97 specification and has several advantages, 70such as higher bandwidth which allows more channels and more detailed formats, 71support for several logical audio devices, and general purpose DMA channels. 72.Pp 73The HDA specification defines the register-level interface, physical link 74characteristics, codec programming models, and codec architectural components. 75This specification is intended for both device driver developers and hardware 76component designers. 77.Ss Runtime Configuration 78The following 79.Xr sysctl 8 80variables are available in addition to those available to all 81.Xr sound 4 82devices: 83.Bl -tag -width ".Va dev.pcm.%d.polling" -offset indent 84.It Va dev.pcm.%d.polling 85Experimental polling mode, where the driver operates by querying the device 86state on each tick using 87.Xr callout 9 . 88Polling is disabled by default. 89Do not enable it unless you are facing weird interrupt problems or if the 90device cannot generate interrupts at all. 91.El 92.Sh HARDWARE 93The 94.Nm 95driver supports the following audio chipsets: 96.Pp 97.Bl -bullet -compact 98.It 99ATI SB450 100.It 101ATI SB600 102.It 103Intel 631x/632xESB 104.It 105Intel 82801F 106.It 107Intel 82801G 108.It 109Intel 82801H 110.It 111nVidia MCP51 112.It 113nVidia MCP55 114.It 115nVidia MCP61A 116.It 117nVidia MCP61B 118.It 119nVidia MCP65A 120.It 121nVidia MCP65B 122.It 123SiS 966 124.It 125VIA VT8251/8237A 126.El 127.Pp 128Generic audio chipsets compatible with the Intel HDA specification should work, 129but have not been verified yet. 130The following codecs have been verified to work: 131.Pp 132.Bl -bullet -compact 133.It 134Analog Device AD1981HD 135.It 136Analog Device AD1983 137.It 138Analog Device AD1986A 139.It 140Analog Device AD1988 141.It 142CMedia CMI9880 143.It 144Conexant Venice 145.It 146Conexant Waikiki 147.It 148Realtek ALC260 149.It 150Realtek ALC262 151.It 152Realtek ALC861 153.It 154Realtek ALC861VD 155.It 156Realtek ALC880 157.It 158Realtek ALC882 159.It 160Realtek ALC883 161.It 162Realtek ALC885 163.It 164Realtek ALC888 165.It 166Sigmatel STAC9220 167.It 168Sigmatel STAC9220D/9223D 169.It 170Sigmatel STAC9221 171.It 172Sigmatel STAC9221D 173.It 174Sigmatel STAC9227 175.It 176Sigmatel STAC9271D 177.It 178VIA VT1708 179.It 180VIA VT1709 181.El 182.Sh SEE ALSO 183.Xr sound 4 , 184.Xr loader.conf 5 , 185.Xr sysctl 8 186.Sh HISTORY 187The 188.Nm 189device driver first appeared in 190.Fx 7.0 . 191.Sh AUTHORS 192.An -nosplit 193The 194.Nm 195driver was written by 196.An Stephane E. Potvin Aq sepotvin@videotron.ca 197and 198.An Ariff Abdullah Aq ariff@FreeBSD.org . 199This manual page was written by 200.An Joel Dahl Aq joel@FreeBSD.org . 201.Sh BUGS 202There are a couple of missing features, such as support for Digital 203S/PDIF and multichannel output. 204.Pp 205A few Hardware/OEM vendors tend to screw up BIOS settings, thus 206rendering the 207.Nm 208driver useless, which usually results in a state where the 209.Nm 210driver seems to attach and work, but without any sound. 211