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.\" 27.Dd April 7, 2012 28.Dt SND_HDA 4 29.Os 30.Sh NAME 31.Nm snd_hda 32.Nd "Intel High Definition Audio bridge device driver" 33.Sh SYNOPSIS 34To compile this driver into the kernel, place the following lines in your 35kernel configuration file: 36.Bd -ragged -offset indent 37.Cd "device pcm" 38.Cd "device snd_hda" 39.Ed 40.Pp 41Alternatively, to load the driver as a module at boot time, place the 42following line in 43.Xr loader.conf 5 : 44.Bd -literal -offset indent 45snd_hda_load="YES" 46.Ed 47.Sh DESCRIPTION 48The 49.Nm 50bridge device driver allows the generic audio driver, 51.Xr sound 4 , 52to attach to Intel High Definition Audio devices. 53The 54.Nm 55driver supports hardware that conforms with revision 1.0 of the Intel High 56Definition Audio specification and tries to behave much like the Microsoft 57Universal Audio Architecture (UAA) draft (revision 0.7b) for handling audio 58devices. 59HDA acts like a primary bus, similar to 60.Xr miibus 4 , 61for handling various child buses such as audio, modem and HDMI (High Definition 62Multimedia Interface). 63Only audio is implemented in the 64.Nm 65driver. 66.Pp 67The High Definition (HD) Audio specification was developed by Intel as the 68logical successor of the old AC'97 specification and has several advantages, 69such as higher bandwidth which allows more channels and more detailed formats, 70support for several logical audio devices, and general purpose DMA channels. 71.Pp 72The HDA specification defines the register-level interface, physical link 73characteristics, codec programming models, and codec architectural components. 74This specification is intended for both device driver developers and hardware 75component designers. 76.Ss Runtime Configuration 77The following 78.Xr sysctl 8 79variables are available in addition to those available to all 80.Xr sound 4 81devices: 82.Bl -tag -width ".Va dev.pcm.%d.polling" -offset indent 83.It Va dev.pcm.%d.polling 84Experimental polling mode, where the driver operates by querying the device 85state on each tick using 86.Xr callout 9 . 87Polling is disabled by default. 88Do not enable it unless you are facing weird interrupt problems or if the 89device cannot generate interrupts at all. 90.El 91.Sh LOADER TUNABLES 92.Bl -tag -width indent 93.It Va hw.snd.hdac.msi.enable 94By default, the driver will use MSI if it is supported. 95This behavior can be turned off by setting this tunable to 0. 96.El 97.Sh HARDWARE 98The 99.Nm 100driver supports the following audio chipsets: 101.Pp 102.Bl -bullet -compact 103.It 104ATI SB450 105.It 106ATI SB600 107.It 108Intel 631x/632xESB 109.It 110Intel 82801F 111.It 112Intel 82801G 113.It 114Intel 82801H 115.It 116nVidia MCP51 117.It 118nVidia MCP55 119.It 120nVidia MCP61A 121.It 122nVidia MCP61B 123.It 124nVidia MCP65A 125.It 126nVidia MCP65B 127.It 128SiS 966 129.It 130VIA VT8251/8237A 131.El 132.Pp 133Generic audio chipsets compatible with the Intel HDA specification should work, 134but have not been verified yet. 135The following codecs have been verified to work: 136.Pp 137.Bl -bullet -compact 138.It 139Analog Device AD1981HD 140.It 141Analog Device AD1983 142.It 143Analog Device AD1986A 144.It 145Analog Device AD1988 146.It 147CMedia CMI9880 148.It 149Conexant Venice 150.It 151Conexant Waikiki 152.It 153Realtek ALC260 154.It 155Realtek ALC262 156.It 157Realtek ALC861 158.It 159Realtek ALC861VD 160.It 161Realtek ALC880 162.It 163Realtek ALC882 164.It 165Realtek ALC883 166.It 167Realtek ALC885 168.It 169Realtek ALC888 170.It 171Sigmatel STAC9220 172.It 173Sigmatel STAC9220D/9223D 174.It 175Sigmatel STAC9221 176.It 177Sigmatel STAC9221D 178.It 179Sigmatel STAC9227 180.It 181Sigmatel STAC9271D 182.It 183VIA VT1708 184.It 185VIA VT1709 186.El 187.Sh SEE ALSO 188.Xr sound 4 , 189.Xr loader.conf 5 , 190.Xr sysctl 8 191.Sh HISTORY 192The 193.Nm 194device driver first appeared in 195.Fx 7.0 . 196.Sh AUTHORS 197.An -nosplit 198The 199.Nm 200driver was written by 201.An Stephane E. Potvin Aq Mt sepotvin@videotron.ca 202and 203.An Ariff Abdullah Aq Mt ariff@FreeBSD.org . 204This manual page was written by 205.An Joel Dahl Aq Mt joel@FreeBSD.org . 206.Sh BUGS 207There are a couple of missing features, such as support for Digital 208S/PDIF and multichannel output. 209.Pp 210A few Hardware/OEM vendors tend to screw up BIOS settings, thus 211rendering the 212.Nm 213driver useless, which usually results in a state where the 214.Nm 215driver seems to attach and work, but without any sound. 216