xref: /dragonfly/share/man/man4/snd_hda.4 (revision a563ca70)
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