aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt29
-rw-r--r--Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl56
2 files changed, 35 insertions, 50 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index 13cba955cb5a..2f27f391c7cc 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -167,7 +167,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
167 spdif - Support SPDIF I/O 167 spdif - Support SPDIF I/O
168 - Default: disabled 168 - Default: disabled
169 169
170 Module supports autoprobe and multiple chips (max 8). 170 This module supports one chip and autoprobe.
171 171
172 The power-management is supported. 172 The power-management is supported.
173 173
@@ -206,7 +206,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
206 See "AC97 Quirk Option" section below. 206 See "AC97 Quirk Option" section below.
207 spdif_aclink - S/PDIF transfer over AC-link (default = 1) 207 spdif_aclink - S/PDIF transfer over AC-link (default = 1)
208 208
209 This module supports up to 8 cards and autoprobe. 209 This module supports one card and autoprobe.
210 210
211 ATI IXP has two different methods to control SPDIF output. One is 211 ATI IXP has two different methods to control SPDIF output. One is
212 over AC-link and another is over the "direct" SPDIF output. The 212 over AC-link and another is over the "direct" SPDIF output. The
@@ -218,7 +218,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
218 218
219 Module for ATI IXP 150/200/250 AC97 modem controllers. 219 Module for ATI IXP 150/200/250 AC97 modem controllers.
220 220
221 Module supports up to 8 cards. 221 This module supports one card and autoprobe.
222 222
223 Note: The default index value of this module is -2, i.e. the first 223 Note: The default index value of this module is -2, i.e. the first
224 slot is excluded. 224 slot is excluded.
@@ -637,7 +637,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
637 model - force the model name 637 model - force the model name
638 position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size) 638 position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
639 639
640 Module supports up to 8 cards. 640 This module supports one card and autoprobe.
641 641
642 Each codec may have a model table for different configurations. 642 Each codec may have a model table for different configurations.
643 If your machine isn't listed there, the default (usually minimal) 643 If your machine isn't listed there, the default (usually minimal)
@@ -663,6 +663,10 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
663 adjusted. Appearing only when compiled with 663 adjusted. Appearing only when compiled with
664 $CONFIG_SND_DEBUG=y 664 $CONFIG_SND_DEBUG=y
665 665
666 ALC260
667 hp HP machines
668 fujitsu Fujitsu S7020
669
666 CMI9880 670 CMI9880
667 minimal 3-jack in back 671 minimal 3-jack in back
668 min_fp 3-jack in back, 2-jack in front 672 min_fp 3-jack in back, 2-jack in front
@@ -811,7 +815,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
811 semaphores (e.g. on some ASUS laptops) 815 semaphores (e.g. on some ASUS laptops)
812 (default off) 816 (default off)
813 817
814 Module supports autoprobe and multiple bus-master chips (max 8). 818 This module supports one chip and autoprobe.
815 819
816 Note: the latest driver supports auto-detection of chip clock. 820 Note: the latest driver supports auto-detection of chip clock.
817 if you still encounter too fast playback, specify the clock 821 if you still encounter too fast playback, specify the clock
@@ -830,7 +834,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
830 834
831 ac97_clock - AC'97 codec clock base (0 = auto-detect) 835 ac97_clock - AC'97 codec clock base (0 = auto-detect)
832 836
833 This module supports up to 8 cards and autoprobe. 837 This module supports one card and autoprobe.
834 838
835 Note: The default index value of this module is -2, i.e. the first 839 Note: The default index value of this module is -2, i.e. the first
836 slot is excluded. 840 slot is excluded.
@@ -950,8 +954,10 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
950 use_cache - 0 or 1 (disabled by default) 954 use_cache - 0 or 1 (disabled by default)
951 vaio_hack - alias buffer_top=0x25a800 955 vaio_hack - alias buffer_top=0x25a800
952 reset_workaround - enable AC97 RESET workaround for some laptops 956 reset_workaround - enable AC97 RESET workaround for some laptops
957 reset_workaround2 - enable extended AC97 RESET workaround for some
958 other laptops
953 959
954 Module supports autoprobe and multiple chips (max 8). 960 This module supports one chip and autoprobe.
955 961
956 The power-management is supported. 962 The power-management is supported.
957 963
@@ -980,6 +986,11 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
980 workaround is enabled automatically. For other laptops with a 986 workaround is enabled automatically. For other laptops with a
981 hard freeze, you can try reset_workaround=1 option. 987 hard freeze, you can try reset_workaround=1 option.
982 988
989 Note: Dell Latitude CSx laptops have another problem regarding
990 AC97 RESET. On these laptops, reset_workaround2 option is
991 turned on as default. This option is worth to try if the
992 previous reset_workaround option doesn't help.
993
983 Note: This driver is really crappy. It's a porting from the 994 Note: This driver is really crappy. It's a porting from the
984 OSS driver, which is a result of black-magic reverse engineering. 995 OSS driver, which is a result of black-magic reverse engineering.
985 The detection of codec will fail if the driver is loaded *after* 996 The detection of codec will fail if the driver is loaded *after*
@@ -1310,7 +1321,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
1310 ac97_quirk - AC'97 workaround for strange hardware 1321 ac97_quirk - AC'97 workaround for strange hardware
1311 See "AC97 Quirk Option" section below. 1322 See "AC97 Quirk Option" section below.
1312 1323
1313 Module supports autoprobe and multiple bus-master chips (max 8). 1324 This module supports one chip and autoprobe.
1314 1325
1315 Note: on some SMP motherboards like MSI 694D the interrupts might 1326 Note: on some SMP motherboards like MSI 694D the interrupts might
1316 not be generated properly. In such a case, please try to 1327 not be generated properly. In such a case, please try to
@@ -1352,7 +1363,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
1352 1363
1353 ac97_clock - AC'97 codec clock base (default 48000Hz) 1364 ac97_clock - AC'97 codec clock base (default 48000Hz)
1354 1365
1355 Module supports up to 8 cards. 1366 This module supports one card and autoprobe.
1356 1367
1357 Note: The default index value of this module is -2, i.e. the first 1368 Note: The default index value of this module is -2, i.e. the first
1358 slot is excluded. 1369 slot is excluded.
diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
index 24e85520890b..260334c98d95 100644
--- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
+++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl
@@ -18,8 +18,8 @@
18 </affiliation> 18 </affiliation>
19 </author> 19 </author>
20 20
21 <date>March 6, 2005</date> 21 <date>October 6, 2005</date>
22 <edition>0.3.4</edition> 22 <edition>0.3.5</edition>
23 23
24 <abstract> 24 <abstract>
25 <para> 25 <para>
@@ -30,7 +30,7 @@
30 30
31 <legalnotice> 31 <legalnotice>
32 <para> 32 <para>
33 Copyright (c) 2002-2004 Takashi Iwai <email>tiwai@suse.de</email> 33 Copyright (c) 2002-2005 Takashi Iwai <email>tiwai@suse.de</email>
34 </para> 34 </para>
35 35
36 <para> 36 <para>
@@ -1433,25 +1433,10 @@
1433 <informalexample> 1433 <informalexample>
1434 <programlisting> 1434 <programlisting>
1435<![CDATA[ 1435<![CDATA[
1436 if (chip->res_port) { 1436 release_and_free_resource(chip->res_port);
1437 release_resource(chip->res_port);
1438 kfree_nocheck(chip->res_port);
1439 }
1440]]> 1437]]>
1441 </programlisting> 1438 </programlisting>
1442 </informalexample> 1439 </informalexample>
1443
1444 As you can see, the resource pointer is also to be freed
1445 via <function>kfree_nocheck()</function> after
1446 <function>release_resource()</function> is called. You
1447 cannot use <function>kfree()</function> here, because on ALSA,
1448 <function>kfree()</function> may be a wrapper to its own
1449 allocator with the memory debugging. Since the resource pointer
1450 is allocated externally outside the ALSA, it must be released
1451 via the native
1452 <function>kfree()</function>.
1453 <function>kfree_nocheck()</function> is used for that; it calls
1454 the native <function>kfree()</function> without wrapper.
1455 </para> 1440 </para>
1456 1441
1457 <para> 1442 <para>
@@ -2190,8 +2175,7 @@ struct _snd_pcm_runtime {
2190 unsigned int rate_den; 2175 unsigned int rate_den;
2191 2176
2192 /* -- SW params -- */ 2177 /* -- SW params -- */
2193 int tstamp_timespec; /* use timeval (0) or timespec (1) */ 2178 struct timespec tstamp_mode; /* mmap timestamp is updated */
2194 snd_pcm_tstamp_t tstamp_mode; /* mmap timestamp is updated */
2195 unsigned int period_step; 2179 unsigned int period_step;
2196 unsigned int sleep_min; /* min ticks to sleep */ 2180 unsigned int sleep_min; /* min ticks to sleep */
2197 snd_pcm_uframes_t xfer_align; /* xfer size need to be a multiple */ 2181 snd_pcm_uframes_t xfer_align; /* xfer size need to be a multiple */
@@ -3709,8 +3693,7 @@ struct _snd_pcm_runtime {
3709 <para> 3693 <para>
3710 Here, the chip instance is retrieved via 3694 Here, the chip instance is retrieved via
3711 <function>snd_kcontrol_chip()</function> macro. This macro 3695 <function>snd_kcontrol_chip()</function> macro. This macro
3712 converts from kcontrol-&gt;private_data to the type defined by 3696 just accesses to kcontrol-&gt;private_data. The
3713 <type>chip_t</type>. The
3714 kcontrol-&gt;private_data field is 3697 kcontrol-&gt;private_data field is
3715 given as the argument of <function>snd_ctl_new()</function> 3698 given as the argument of <function>snd_ctl_new()</function>
3716 (see the later subsection 3699 (see the later subsection
@@ -5998,32 +5981,23 @@ struct _snd_pcm_runtime {
5998 The first argument is the expression to evaluate, and the 5981 The first argument is the expression to evaluate, and the
5999 second argument is the action if it fails. When 5982 second argument is the action if it fails. When
6000 <constant>CONFIG_SND_DEBUG</constant>, is set, it will show an 5983 <constant>CONFIG_SND_DEBUG</constant>, is set, it will show an
6001 error message such as <computeroutput>BUG? (xxx) (called from 5984 error message such as <computeroutput>BUG? (xxx)</computeroutput>
6002 yyy)</computeroutput>. When no debug flag is set, this is 5985 together with stack trace.
6003 ignored.
6004 </para> 5986 </para>
6005 </section>
6006
6007 <section id="useful-functions-snd-runtime-check">
6008 <title><function>snd_runtime_check()</function></title>
6009 <para> 5987 <para>
6010 This macro is quite similar with 5988 When no debug flag is set, this macro is ignored.
6011 <function>snd_assert()</function>. Unlike
6012 <function>snd_assert()</function>, the expression is always
6013 evaluated regardless of
6014 <constant>CONFIG_SND_DEBUG</constant>. When
6015 <constant>CONFIG_SND_DEBUG</constant> is set, the macro will
6016 show a message like <computeroutput>ERROR (xx) (called from
6017 yyy)</computeroutput>.
6018 </para> 5989 </para>
6019 </section> 5990 </section>
6020 5991
6021 <section id="useful-functions-snd-bug"> 5992 <section id="useful-functions-snd-bug">
6022 <title><function>snd_BUG()</function></title> 5993 <title><function>snd_BUG()</function></title>
6023 <para> 5994 <para>
6024 It calls <function>snd_assert(0,)</function> -- that is, just 5995 It shows <computeroutput>BUG?</computeroutput> message and
6025 prints the error message at the point. It's useful to show that 5996 stack trace as well as <function>snd_assert</function> at the point.
6026 a fatal error happens there. 5997 It's useful to show that a fatal error happens there.
5998 </para>
5999 <para>
6000 When no debug flag is set, this macro is ignored.
6027 </para> 6001 </para>
6028 </section> 6002 </section>
6029 </chapter> 6003 </chapter>