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