diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 124 | ||||
-rw-r--r-- | Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl | 10 |
2 files changed, 92 insertions, 42 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index ebfcdf28485f..13cba955cb5a 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -75,7 +75,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
75 | adsp_map - PCM device number maps assigned to the 2st OSS device. | 75 | adsp_map - PCM device number maps assigned to the 2st OSS device. |
76 | - Default: 1 | 76 | - Default: 1 |
77 | nonblock_open | 77 | nonblock_open |
78 | - Don't block opening busy PCM devices. | 78 | - Don't block opening busy PCM devices. Default: 1 |
79 | 79 | ||
80 | For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of | 80 | For example, when dsp_map=2, /dev/dsp will be mapped to PCM #2 of |
81 | the card #0. Similarly, when adsp_map=0, /dev/adsp will be mapped | 81 | the card #0. Similarly, when adsp_map=0, /dev/adsp will be mapped |
@@ -148,6 +148,16 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
148 | Module supports up to 8 cards. This module does not support autoprobe | 148 | Module supports up to 8 cards. This module does not support autoprobe |
149 | thus main port must be specified!!! Other ports are optional. | 149 | thus main port must be specified!!! Other ports are optional. |
150 | 150 | ||
151 | Module snd-ad1889 | ||
152 | ----------------- | ||
153 | |||
154 | Module for Analog Devices AD1889 chips. | ||
155 | |||
156 | ac97_quirk - AC'97 workaround for strange hardware | ||
157 | See the description of intel8x0 module for details. | ||
158 | |||
159 | This module supports up to 8 cards. | ||
160 | |||
151 | Module snd-ali5451 | 161 | Module snd-ali5451 |
152 | ------------------ | 162 | ------------------ |
153 | 163 | ||
@@ -189,15 +199,20 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
189 | Module snd-atiixp | 199 | Module snd-atiixp |
190 | ----------------- | 200 | ----------------- |
191 | 201 | ||
192 | Module for ATI IXP 150/200/250 AC97 controllers. | 202 | Module for ATI IXP 150/200/250/400 AC97 controllers. |
193 | 203 | ||
194 | ac97_clock - AC'97 clock (defalut = 48000) | 204 | ac97_clock - AC'97 clock (default = 48000) |
195 | ac97_quirk - AC'97 workaround for strange hardware | 205 | ac97_quirk - AC'97 workaround for strange hardware |
196 | See the description of intel8x0 module for details. | 206 | See "AC97 Quirk Option" section below. |
197 | spdif_aclink - S/PDIF transfer over AC-link (default = 1) | 207 | spdif_aclink - S/PDIF transfer over AC-link (default = 1) |
198 | 208 | ||
199 | This module supports up to 8 cards and autoprobe. | 209 | This module supports up to 8 cards and autoprobe. |
200 | 210 | ||
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 | ||
213 | implementation depends on the motherboard, and you'll need to | ||
214 | choose the correct one via spdif_aclink module option. | ||
215 | |||
201 | Module snd-atiixp-modem | 216 | Module snd-atiixp-modem |
202 | ----------------------- | 217 | ----------------------- |
203 | 218 | ||
@@ -230,7 +245,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
230 | The hardware EQ hardware and SPDIF is only present in the Vortex2 and | 245 | The hardware EQ hardware and SPDIF is only present in the Vortex2 and |
231 | Advantage. | 246 | Advantage. |
232 | 247 | ||
233 | Note: Some ALSA mixer applicactions don't handle the SPDIF samplerate | 248 | Note: Some ALSA mixer applications don't handle the SPDIF sample rate |
234 | control correctly. If you have problems regarding this, try | 249 | control correctly. If you have problems regarding this, try |
235 | another ALSA compliant mixer (alsamixer works). | 250 | another ALSA compliant mixer (alsamixer works). |
236 | 251 | ||
@@ -302,7 +317,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
302 | 317 | ||
303 | mpu_port - 0x300,0x310,0x320,0x330, 0 = disable (default) | 318 | mpu_port - 0x300,0x310,0x320,0x330, 0 = disable (default) |
304 | fm_port - 0x388 (default), 0 = disable (default) | 319 | fm_port - 0x388 (default), 0 = disable (default) |
305 | soft_ac3 - Sofware-conversion of raw SPDIF packets (model 033 only) | 320 | soft_ac3 - Software-conversion of raw SPDIF packets (model 033 only) |
306 | (default = 1) | 321 | (default = 1) |
307 | joystick_port - Joystick port address (0 = disable, 1 = auto-detect) | 322 | joystick_port - Joystick port address (0 = disable, 1 = auto-detect) |
308 | 323 | ||
@@ -384,7 +399,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
384 | Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/ | 399 | Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/ |
385 | CS4624/CS4630/CS4280 PCI chips. | 400 | CS4624/CS4630/CS4280 PCI chips. |
386 | 401 | ||
387 | external_amp - Force to enable external amplifer. | 402 | external_amp - Force to enable external amplifier. |
388 | thinkpad - Force to enable Thinkpad's CLKRUN control. | 403 | thinkpad - Force to enable Thinkpad's CLKRUN control. |
389 | mmap_valid - Support OSS mmap mode (default = 0). | 404 | mmap_valid - Support OSS mmap mode (default = 0). |
390 | 405 | ||
@@ -620,7 +635,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
620 | VIA VT8251/VT8237A | 635 | VIA VT8251/VT8237A |
621 | 636 | ||
622 | model - force the model name | 637 | model - force the model name |
623 | position_fix - Fix DMA pointer (0 = FIFO size, 1 = none, 2 = POSBUF) | 638 | position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size) |
624 | 639 | ||
625 | Module supports up to 8 cards. | 640 | Module supports up to 8 cards. |
626 | 641 | ||
@@ -656,6 +671,11 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
656 | allout 5-jack in back, 2-jack in front, SPDIF out | 671 | allout 5-jack in back, 2-jack in front, SPDIF out |
657 | auto auto-config reading BIOS (default) | 672 | auto auto-config reading BIOS (default) |
658 | 673 | ||
674 | If the default configuration doesn't work and one of the above | ||
675 | matches with your device, report it together with the PCI | ||
676 | subsystem ID (output of "lspci -nv") to ALSA BTS or alsa-devel | ||
677 | ML (see the section "Links and Addresses"). | ||
678 | |||
659 | Note 2: If you get click noises on output, try the module option | 679 | Note 2: If you get click noises on output, try the module option |
660 | position_fix=1 or 2. position_fix=1 will use the SD_LPIB | 680 | position_fix=1 or 2. position_fix=1 will use the SD_LPIB |
661 | register value without FIFO size correction as the current | 681 | register value without FIFO size correction as the current |
@@ -783,20 +803,13 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
783 | 803 | ||
784 | ac97_clock - AC'97 codec clock base (0 = auto-detect) | 804 | ac97_clock - AC'97 codec clock base (0 = auto-detect) |
785 | ac97_quirk - AC'97 workaround for strange hardware | 805 | ac97_quirk - AC'97 workaround for strange hardware |
786 | The following strings are accepted: | 806 | See "AC97 Quirk Option" section below. |
787 | default = don't override the default setting | ||
788 | disable = disable the quirk | ||
789 | hp_only = use headphone control as master | ||
790 | swap_hp = swap headphone and master controls | ||
791 | swap_surround = swap master and surround controls | ||
792 | ad_sharing = for AD1985, turn on OMS bit and use headphone | ||
793 | alc_jack = for ALC65x, turn on the jack sense mode | ||
794 | inv_eapd = inverted EAPD implementation | ||
795 | mute_led = bind EAPD bit for turning on/off mute LED | ||
796 | For backward compatibility, the corresponding integer | ||
797 | value -1, 0, ... are accepted, too. | ||
798 | buggy_irq - Enable workaround for buggy interrupts on some | 807 | buggy_irq - Enable workaround for buggy interrupts on some |
799 | motherboards (default off) | 808 | motherboards (default yes on nForce chips, |
809 | otherwise off) | ||
810 | buggy_semaphore - Enable workaround for hardwares with buggy | ||
811 | semaphores (e.g. on some ASUS laptops) | ||
812 | (default off) | ||
800 | 813 | ||
801 | Module supports autoprobe and multiple bus-master chips (max 8). | 814 | Module supports autoprobe and multiple bus-master chips (max 8). |
802 | 815 | ||
@@ -808,13 +821,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
808 | motherboard has these devices, use the ns558 or snd-mpu401 | 821 | motherboard has these devices, use the ns558 or snd-mpu401 |
809 | modules, respectively. | 822 | modules, respectively. |
810 | 823 | ||
811 | The ac97_quirk option is used to enable/override the workaround | ||
812 | for specific devices. Some hardware have swapped output pins | ||
813 | between Master and Headphone, or Surround. The driver provides | ||
814 | the auto-detection of known problematic devices, but some might | ||
815 | be unknown or wrongly detected. In such a case, pass the proper | ||
816 | value with this option. | ||
817 | |||
818 | The power-management is supported. | 824 | The power-management is supported. |
819 | 825 | ||
820 | Module snd-intel8x0m | 826 | Module snd-intel8x0m |
@@ -966,7 +972,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
966 | with machines with other (most likely CS423x or OPL3SAx) chips, | 972 | with machines with other (most likely CS423x or OPL3SAx) chips, |
967 | even though the device is detected in lspci. In such a case, try | 973 | even though the device is detected in lspci. In such a case, try |
968 | other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP | 974 | other drivers, e.g. snd-cs4232 or snd-opl3sa2. Some has ISA-PnP |
969 | but some doesn't have ISA PnP. You'll need to speicfy isapnp=0 | 975 | but some doesn't have ISA PnP. You'll need to specify isapnp=0 |
970 | and proper hardware parameters in the case without ISA PnP. | 976 | and proper hardware parameters in the case without ISA PnP. |
971 | 977 | ||
972 | Note: some laptops need a workaround for AC97 RESET. For the | 978 | Note: some laptops need a workaround for AC97 RESET. For the |
@@ -1302,7 +1308,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1302 | channels | 1308 | channels |
1303 | [VIA8233/C, 8235, 8237 only] | 1309 | [VIA8233/C, 8235, 8237 only] |
1304 | ac97_quirk - AC'97 workaround for strange hardware | 1310 | ac97_quirk - AC'97 workaround for strange hardware |
1305 | See the description of intel8x0 module for details. | 1311 | See "AC97 Quirk Option" section below. |
1306 | 1312 | ||
1307 | Module supports autoprobe and multiple bus-master chips (max 8). | 1313 | Module supports autoprobe and multiple bus-master chips (max 8). |
1308 | 1314 | ||
@@ -1327,16 +1333,17 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1327 | "lspci -nv"). | 1333 | "lspci -nv"). |
1328 | If dxs_support=5 does not work, try dxs_support=4; if it | 1334 | If dxs_support=5 does not work, try dxs_support=4; if it |
1329 | doesn't work too, try dxs_support=1. (dxs_support=1 is | 1335 | doesn't work too, try dxs_support=1. (dxs_support=1 is |
1330 | usually for old motherboards. The correct implementated | 1336 | usually for old motherboards. The correct implemented |
1331 | board should work with 4 or 5.) If it still doesn't | 1337 | board should work with 4 or 5.) If it still doesn't |
1332 | work and the default setting is ok, dxs_support=3 is the | 1338 | work and the default setting is ok, dxs_support=3 is the |
1333 | right choice. If the default setting doesn't work at all, | 1339 | right choice. If the default setting doesn't work at all, |
1334 | try dxs_support=2 to disable the DXS channels. | 1340 | try dxs_support=2 to disable the DXS channels. |
1335 | In any cases, please let us know the result and the | 1341 | In any cases, please let us know the result and the |
1336 | subsystem vendor/device ids. | 1342 | subsystem vendor/device ids. See "Links and Addresses" |
1343 | below. | ||
1337 | 1344 | ||
1338 | Note: for the MPU401 on VIA823x, use snd-mpu401 driver | 1345 | Note: for the MPU401 on VIA823x, use snd-mpu401 driver |
1339 | additonally. The mpu_port option is for VIA686 chips only. | 1346 | additionally. The mpu_port option is for VIA686 chips only. |
1340 | 1347 | ||
1341 | Module snd-via82xx-modem | 1348 | Module snd-via82xx-modem |
1342 | ------------------------ | 1349 | ------------------------ |
@@ -1398,8 +1405,10 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1398 | Module supports up to 8 cards. The module is compiled only when | 1405 | Module supports up to 8 cards. The module is compiled only when |
1399 | PCMCIA is supported on kernel. | 1406 | PCMCIA is supported on kernel. |
1400 | 1407 | ||
1401 | To activate the driver via the card manager, you'll need to set | 1408 | With the older 2.6.x kernel, to activate the driver via the card |
1402 | up /etc/pcmcia/vxpocket.conf. See the sound/pcmcia/vx/vxpocket.c. | 1409 | manager, you'll need to set up /etc/pcmcia/vxpocket.conf. See the |
1410 | sound/pcmcia/vx/vxpocket.c. 2.6.13 or later kernel requires no | ||
1411 | longer require a config file. | ||
1403 | 1412 | ||
1404 | When the driver is compiled as a module and the hotplug firmware | 1413 | When the driver is compiled as a module and the hotplug firmware |
1405 | is supported, the firmware data is loaded via hotplug automatically. | 1414 | is supported, the firmware data is loaded via hotplug automatically. |
@@ -1411,6 +1420,9 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1411 | 1420 | ||
1412 | Note: the driver is build only when CONFIG_ISA is set. | 1421 | Note: the driver is build only when CONFIG_ISA is set. |
1413 | 1422 | ||
1423 | Note2: snd-vxp440 driver is merged to snd-vxpocket driver since | ||
1424 | ALSA 1.0.10. | ||
1425 | |||
1414 | Module snd-ymfpci | 1426 | Module snd-ymfpci |
1415 | ----------------- | 1427 | ----------------- |
1416 | 1428 | ||
@@ -1436,6 +1448,37 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
1436 | Note: the driver is build only when CONFIG_ISA is set. | 1448 | Note: the driver is build only when CONFIG_ISA is set. |
1437 | 1449 | ||
1438 | 1450 | ||
1451 | AC97 Quirk Option | ||
1452 | ================= | ||
1453 | |||
1454 | The ac97_quirk option is used to enable/override the workaround for | ||
1455 | specific devices on drivers for on-board AC'97 controllers like | ||
1456 | snd-intel8x0. Some hardware have swapped output pins between Master | ||
1457 | and Headphone, or Surround (thanks to confusion of AC'97 | ||
1458 | specifications from version to version :-) | ||
1459 | |||
1460 | The driver provides the auto-detection of known problematic devices, | ||
1461 | but some might be unknown or wrongly detected. In such a case, pass | ||
1462 | the proper value with this option. | ||
1463 | |||
1464 | The following strings are accepted: | ||
1465 | - default Don't override the default setting | ||
1466 | - disable Disable the quirk | ||
1467 | - hp_only Bind Master and Headphone controls as a single control | ||
1468 | - swap_hp Swap headphone and master controls | ||
1469 | - swap_surround Swap master and surround controls | ||
1470 | - ad_sharing For AD1985, turn on OMS bit and use headphone | ||
1471 | - alc_jack For ALC65x, turn on the jack sense mode | ||
1472 | - inv_eapd Inverted EAPD implementation | ||
1473 | - mute_led Bind EAPD bit for turning on/off mute LED | ||
1474 | |||
1475 | For backward compatibility, the corresponding integer value -1, 0, | ||
1476 | ... are accepted, too. | ||
1477 | |||
1478 | For example, if "Master" volume control has no effect on your device | ||
1479 | but only "Headphone" does, pass ac97_quirk=hp_only module option. | ||
1480 | |||
1481 | |||
1439 | Configuring Non-ISAPNP Cards | 1482 | Configuring Non-ISAPNP Cards |
1440 | ============================ | 1483 | ============================ |
1441 | 1484 | ||
@@ -1553,6 +1596,8 @@ Proc interfaces (/proc/asound) | |||
1553 | - whole-frag write only whole fragments (optimization affecting | 1596 | - whole-frag write only whole fragments (optimization affecting |
1554 | playback only) | 1597 | playback only) |
1555 | - no-silence do not fill silence ahead to avoid clicks | 1598 | - no-silence do not fill silence ahead to avoid clicks |
1599 | - buggy-ptr Returns the whitespace blocks in GETOPTR ioctl | ||
1600 | instead of filled blocks | ||
1556 | 1601 | ||
1557 | Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss | 1602 | Example: echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss |
1558 | echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss | 1603 | echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss |
@@ -1589,9 +1634,14 @@ commands to the snd-page-alloc driver: | |||
1589 | use. | 1634 | use. |
1590 | 1635 | ||
1591 | 1636 | ||
1592 | Links | 1637 | Links and Addresses |
1593 | ===== | 1638 | =================== |
1594 | 1639 | ||
1595 | ALSA project homepage | 1640 | ALSA project homepage |
1596 | http://www.alsa-project.org | 1641 | http://www.alsa-project.org |
1597 | 1642 | ||
1643 | ALSA Bug Tracking System | ||
1644 | https://bugtrack.alsa-project.org/bugs/ | ||
1645 | |||
1646 | ALSA Developers ML | ||
1647 | mailto:alsa-devel@lists.sourceforge.net | ||
diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl index 0475478c2484..24e85520890b 100644 --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl | |||
@@ -447,7 +447,7 @@ | |||
447 | .... | 447 | .... |
448 | 448 | ||
449 | /* allocate a chip-specific data with zero filled */ | 449 | /* allocate a chip-specific data with zero filled */ |
450 | chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); | 450 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); |
451 | if (chip == NULL) | 451 | if (chip == NULL) |
452 | return -ENOMEM; | 452 | return -ENOMEM; |
453 | 453 | ||
@@ -949,7 +949,7 @@ | |||
949 | After allocating a card instance via | 949 | After allocating a card instance via |
950 | <function>snd_card_new()</function> (with | 950 | <function>snd_card_new()</function> (with |
951 | <constant>NULL</constant> on the 4th arg), call | 951 | <constant>NULL</constant> on the 4th arg), call |
952 | <function>kcalloc()</function>. | 952 | <function>kzalloc()</function>. |
953 | 953 | ||
954 | <informalexample> | 954 | <informalexample> |
955 | <programlisting> | 955 | <programlisting> |
@@ -958,7 +958,7 @@ | |||
958 | mychip_t *chip; | 958 | mychip_t *chip; |
959 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, NULL); | 959 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, NULL); |
960 | ..... | 960 | ..... |
961 | chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); | 961 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); |
962 | ]]> | 962 | ]]> |
963 | </programlisting> | 963 | </programlisting> |
964 | </informalexample> | 964 | </informalexample> |
@@ -1136,7 +1136,7 @@ | |||
1136 | return -ENXIO; | 1136 | return -ENXIO; |
1137 | } | 1137 | } |
1138 | 1138 | ||
1139 | chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); | 1139 | chip = kzalloc(sizeof(*chip), GFP_KERNEL); |
1140 | if (chip == NULL) { | 1140 | if (chip == NULL) { |
1141 | pci_disable_device(pci); | 1141 | pci_disable_device(pci); |
1142 | return -ENOMEM; | 1142 | return -ENOMEM; |
@@ -1292,7 +1292,7 @@ | |||
1292 | need to initialize this number as -1 before actual allocation, | 1292 | need to initialize this number as -1 before actual allocation, |
1293 | since irq 0 is valid. The port address and its resource pointer | 1293 | since irq 0 is valid. The port address and its resource pointer |
1294 | can be initialized as null by | 1294 | can be initialized as null by |
1295 | <function>kcalloc()</function> automatically, so you | 1295 | <function>kzalloc()</function> automatically, so you |
1296 | don't have to take care of resetting them. | 1296 | don't have to take care of resetting them. |
1297 | </para> | 1297 | </para> |
1298 | 1298 | ||