Back to home page

OSCL-LXR

 
 

    


0001 ==============================================================
0002 Advanced Linux Sound Architecture - Driver Configuration guide
0003 ==============================================================
0004 
0005 
0006 Kernel Configuration
0007 ====================
0008 
0009 To enable ALSA support you need at least to build the kernel with
0010 primary sound card support (``CONFIG_SOUND``).  Since ALSA can emulate
0011 OSS, you don't have to choose any of the OSS modules.
0012 
0013 Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer
0014 and PCM supports if you want to run OSS applications with ALSA.
0015 
0016 If you want to support the WaveTable functionality on cards such as
0017 SB Live! then you need to enable "Sequencer support"
0018 (``CONFIG_SND_SEQUENCER``).
0019 
0020 To make ALSA debug messages more verbose, enable the "Verbose printk"
0021 and "Debug" options.  To check for memory leaks, turn on "Debug memory"
0022 too.  "Debug detection" will add checks for the detection of cards.
0023 
0024 Please note that all the ALSA ISA drivers support the Linux isapnp API
0025 (if the card supports ISA PnP).  You don't need to configure the cards
0026 using isapnptools.
0027 
0028 
0029 Module parameters
0030 =================
0031 
0032 The user can load modules with options. If the module supports more than
0033 one card and you have more than one card of the same type then you can
0034 specify multiple values for the option separated by commas.
0035 
0036 
0037 Module snd
0038 ----------
0039 
0040 The core ALSA module.  It is used by all ALSA card drivers.
0041 It takes the following options which have global effects.
0042 
0043 major
0044     major number for sound driver;
0045     Default: 116
0046 cards_limit
0047     limiting card index for auto-loading (1-8);
0048     Default: 1;
0049     For auto-loading more than one card, specify this option
0050     together with snd-card-X aliases.
0051 slots
0052     Reserve the slot index for the given driver;
0053     This option takes multiple strings.
0054     See `Module Autoloading Support`_ section for details.
0055 debug
0056     Specifies the debug message level;
0057     (0 = disable debug prints, 1 = normal debug messages,
0058     2 = verbose debug messages);
0059     This option appears only when ``CONFIG_SND_DEBUG=y``.
0060     This option can be dynamically changed via sysfs
0061     /sys/modules/snd/parameters/debug file.
0062   
0063 Module snd-pcm-oss
0064 ------------------
0065 
0066 The PCM OSS emulation module.
0067 This module takes options which change the mapping of devices.
0068 
0069 dsp_map
0070     PCM device number maps assigned to the 1st OSS device;
0071     Default: 0
0072 adsp_map
0073     PCM device number maps assigned to the 2st OSS device;
0074     Default: 1
0075 nonblock_open
0076     Don't block opening busy PCM devices;
0077     Default: 1
0078 
0079 For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of
0080 the card #0.  Similarly, when ``adsp_map=0``, /dev/adsp will be mapped
0081 to PCM #0 of the card #0.
0082 For changing the second or later card, specify the option with
0083 commas, such like ``dsp_map=0,1``.
0084 
0085 ``nonblock_open`` option is used to change the behavior of the PCM
0086 regarding opening the device.  When this option is non-zero,
0087 opening a busy OSS PCM device won't be blocked but return
0088 immediately with EAGAIN (just like O_NONBLOCK flag).
0089     
0090 Module snd-rawmidi
0091 ------------------
0092 
0093 This module takes options which change the mapping of devices.
0094 similar to those of the snd-pcm-oss module.
0095 
0096 midi_map
0097     MIDI device number maps assigned to the 1st OSS device;
0098     Default: 0
0099 amidi_map
0100     MIDI device number maps assigned to the 2st OSS device;
0101     Default: 1
0102 
0103 Module snd-soc-core
0104 -------------------
0105 
0106 The soc core module. It is used by all ALSA card drivers.
0107 It takes the following options which have global effects.
0108 
0109 prealloc_buffer_size_kbytes
0110     Specify prealloc buffer size in kbytes (default: 512).
0111 
0112 Common parameters for top sound card modules
0113 --------------------------------------------
0114 
0115 Each of top level sound card module takes the following options.
0116 
0117 index
0118     index (slot #) of sound card;
0119     Values: 0 through 31 or negative;
0120     If nonnegative, assign that index number;
0121     if negative, interpret as a bitmask of permissible indices;
0122     the first free permitted index is assigned;
0123     Default: -1
0124 id
0125     card ID (identifier or name);
0126     Can be up to 15 characters long;
0127     Default: the card type;
0128     A directory by this name is created under /proc/asound/
0129     containing information about the card;
0130     This ID can be used instead of the index number in
0131     identifying the card
0132 enable
0133     enable card;
0134     Default: enabled, for PCI and ISA PnP cards
0135 
0136 Module snd-adlib
0137 ----------------
0138 
0139 Module for AdLib FM cards.
0140 
0141 port
0142     port # for OPL chip
0143 
0144 This module supports multiple cards. It does not support autoprobe, so
0145 the port must be specified. For actual AdLib FM cards it will be 0x388.
0146 Note that this card does not have PCM support and no mixer; only FM
0147 synthesis.
0148 
0149 Make sure you have ``sbiload`` from the alsa-tools package available and,
0150 after loading the module, find out the assigned ALSA sequencer port
0151 number through ``sbiload -l``.
0152 
0153 Example output:
0154 ::
0155 
0156       Port     Client name                       Port name
0157       64:0     OPL2 FM synth                     OPL2 FM Port
0158 
0159 Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``:
0160 ::
0161 
0162       sbiload -p 64:0 std.sb drums.sb
0163 
0164 If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3``
0165 instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils:
0166 ::
0167 
0168       aplaymidi -p 64:0 foo.mid
0169 
0170 Module snd-ad1816a
0171 ------------------
0172 
0173 Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
0174 
0175 clockfreq
0176     Clock frequency for AD1816A chip (default = 0, 33000Hz)
0177     
0178 This module supports multiple cards, autoprobe and PnP.
0179     
0180 Module snd-ad1848
0181 -----------------
0182 
0183 Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
0184 
0185 port
0186     port # for AD1848 chip
0187 irq
0188     IRQ # for AD1848  chip
0189 dma1
0190     DMA # for AD1848 chip (0,1,3)
0191     
0192 This module supports multiple cards.  It does not support autoprobe
0193 thus main port must be specified!!! Other ports are optional.
0194     
0195 The power-management is supported.
0196 
0197 Module snd-ad1889
0198 -----------------
0199 
0200 Module for Analog Devices AD1889 chips.
0201 
0202 ac97_quirk
0203     AC'97 workaround for strange hardware;
0204     See the description of intel8x0 module for details.
0205 
0206 This module supports multiple cards.
0207 
0208 Module snd-ali5451
0209 ------------------
0210 
0211 Module for ALi M5451 PCI chip.
0212 
0213 pcm_channels
0214     Number of hardware channels assigned for PCM
0215 spdif
0216     Support SPDIF I/O;
0217     Default: disabled
0218 
0219 This module supports one chip and autoprobe.
0220 
0221 The power-management is supported.
0222 
0223 Module snd-als100
0224 -----------------
0225 
0226 Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
0227 
0228 This module supports multiple cards, autoprobe and PnP.
0229 
0230 The power-management is supported.
0231 
0232 Module snd-als300
0233 -----------------
0234 
0235 Module for Avance Logic ALS300 and ALS300+
0236 
0237 This module supports multiple cards.
0238 
0239 The power-management is supported.
0240 
0241 Module snd-als4000
0242 ------------------
0243 
0244 Module for sound cards based on Avance Logic ALS4000 PCI chip.
0245 
0246 joystick_port
0247     port # for legacy joystick support;
0248     0 = disabled (default), 1 = auto-detect
0249     
0250 This module supports multiple cards, autoprobe and PnP.
0251 
0252 The power-management is supported.
0253 
0254 Module snd-asihpi
0255 -----------------
0256 
0257 Module for AudioScience ASI soundcards
0258 
0259 enable_hpi_hwdep
0260     enable HPI hwdep for AudioScience soundcard
0261 
0262 This module supports multiple cards.
0263 The driver requires the firmware loader support on kernel.
0264 
0265 Module snd-atiixp
0266 -----------------
0267 
0268 Module for ATI IXP 150/200/250/400 AC97 controllers.
0269 
0270 ac97_clock
0271     AC'97 clock (default = 48000)
0272 ac97_quirk
0273     AC'97 workaround for strange hardware;
0274     See `AC97 Quirk Option`_ section below.
0275 ac97_codec
0276     Workaround to specify which AC'97 codec instead of probing.
0277     If this works for you file a bug with your `lspci -vn` output.
0278     (-2 = Force probing, -1 = Default behavior, 0-2 = Use the
0279     specified codec.)
0280 spdif_aclink
0281     S/PDIF transfer over AC-link (default = 1)
0282 
0283 This module supports one card and autoprobe.
0284 
0285 ATI IXP has two different methods to control SPDIF output.  One is
0286 over AC-link and another is over the "direct" SPDIF output.  The
0287 implementation depends on the motherboard, and you'll need to
0288 choose the correct one via spdif_aclink module option.
0289 
0290 The power-management is supported.
0291 
0292 Module snd-atiixp-modem
0293 -----------------------
0294 
0295 Module for ATI IXP 150/200/250 AC97 modem controllers.
0296 
0297 This module supports one card and autoprobe.
0298 
0299 Note: The default index value of this module is -2, i.e. the first
0300 slot is excluded.
0301 
0302 The power-management is supported.
0303 
0304 Module snd-au8810, snd-au8820, snd-au8830
0305 -----------------------------------------
0306 
0307 Module for Aureal Vortex, Vortex2 and Advantage device.
0308 
0309 pcifix
0310     Control PCI workarounds;
0311     0 = Disable all workarounds,
0312     1 = Force the PCI latency of the Aureal card to 0xff,
0313     2 = Force the Extend PCI#2 Internal Master for Efficient
0314     Handling of Dummy Requests on the VIA KT133 AGP Bridge,
0315     3 = Force both settings,
0316     255 = Autodetect what is required (default)
0317 
0318 This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
0319 EQ, mpu401, gameport. A3D and wavetable support are still in development.
0320 Development and reverse engineering work is being coordinated at
0321 https://savannah.nongnu.org/projects/openvortex/
0322 SPDIF output has a copy of the AC97 codec output, unless you use the
0323 ``spdif`` pcm device, which allows raw data passthru.
0324 The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
0325 Advantage.
0326 
0327 Note: Some ALSA mixer applications don't handle the SPDIF sample rate 
0328 control correctly. If you have problems regarding this, try
0329 another ALSA compliant mixer (alsamixer works).
0330 
0331 Module snd-azt1605
0332 ------------------
0333 
0334 Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605
0335 chipset.
0336 
0337 port
0338     port # for BASE (0x220,0x240,0x260,0x280)
0339 wss_port
0340     port # for WSS (0x530,0x604,0xe80,0xf40)
0341 irq
0342     IRQ # for WSS (7,9,10,11)
0343 dma1
0344     DMA # for WSS playback (0,1,3)
0345 dma2
0346     DMA # for WSS capture (0,1), -1 = disabled (default)
0347 mpu_port
0348     port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
0349 mpu_irq
0350     IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)
0351 fm_port
0352     port # for OPL3 (0x388), -1 = disabled (default)
0353 
0354 This module supports multiple cards. It does not support autoprobe:
0355 ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
0356 The other values are optional.
0357 
0358 ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
0359 or the value stored in the card's EEPROM for cards that have an EEPROM and
0360 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
0361 be chosen freely from the options enumerated above.
0362 
0363 If ``dma2`` is specified and different from ``dma1``, the card will operate in
0364 full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
0365 enable capture since only channels 0 and 1 are available for capture.
0366 
0367 Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
0368 mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
0369 
0370 Whatever IRQ and DMA channels you pick, be sure to reserve them for
0371 legacy ISA in your BIOS.
0372 
0373 Module snd-azt2316
0374 ------------------
0375 
0376 Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316
0377 chipset.
0378 
0379 port
0380     port # for BASE (0x220,0x240,0x260,0x280)
0381 wss_port
0382     port # for WSS (0x530,0x604,0xe80,0xf40)
0383 irq
0384     IRQ # for WSS (7,9,10,11)
0385 dma1
0386     DMA # for WSS playback (0,1,3)
0387 dma2
0388     DMA # for WSS capture (0,1), -1 = disabled (default)
0389 mpu_port
0390     port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
0391 mpu_irq
0392     IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)
0393 fm_port
0394     port # for OPL3 (0x388), -1 = disabled (default)
0395 
0396 This module supports multiple cards. It does not support autoprobe:
0397 ``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
0398 The other values are optional.
0399 
0400 ``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
0401 or the value stored in the card's EEPROM for cards that have an EEPROM and
0402 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
0403 be chosen freely from the options enumerated above.
0404 
0405 If ``dma2`` is specified and different from ``dma1``, the card will operate in
0406 full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
0407 enable capture since only channels 0 and 1 are available for capture.
0408 
0409 Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
0410 mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
0411 
0412 Whatever IRQ and DMA channels you pick, be sure to reserve them for
0413 legacy ISA in your BIOS.
0414 
0415 Module snd-aw2
0416 --------------
0417 
0418 Module for Audiowerk2 sound card
0419 
0420 This module supports multiple cards.
0421 
0422 Module snd-azt2320
0423 ------------------
0424 
0425 Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
0426 
0427 This module supports multiple cards, PnP and autoprobe.
0428 
0429 The power-management is supported.
0430 
0431 Module snd-azt3328
0432 ------------------
0433 
0434 Module for sound cards based on Aztech AZF3328 PCI chip.
0435 
0436 joystick
0437     Enable joystick (default off)
0438 
0439 This module supports multiple cards.
0440 
0441 Module snd-bt87x
0442 ----------------
0443 
0444 Module for video cards based on Bt87x chips.
0445 
0446 digital_rate
0447     Override the default digital rate (Hz)
0448 load_all
0449     Load the driver even if the card model isn't known
0450 
0451 This module supports multiple cards.
0452 
0453 Note: The default index value of this module is -2, i.e. the first
0454 slot is excluded.
0455 
0456 Module snd-ca0106
0457 -----------------
0458 
0459 Module for Creative Audigy LS and SB Live 24bit
0460 
0461 This module supports multiple cards.
0462 
0463 
0464 Module snd-cmi8330
0465 ------------------
0466 
0467 Module for sound cards based on C-Media CMI8330 ISA chips.
0468 
0469 isapnp
0470     ISA PnP detection - 0 = disable, 1 = enable (default)
0471 
0472 with ``isapnp=0``, the following options are available:
0473 
0474 wssport
0475     port # for CMI8330 chip (WSS)
0476 wssirq
0477     IRQ # for CMI8330 chip (WSS)
0478 wssdma
0479     first DMA # for CMI8330 chip (WSS)
0480 sbport
0481     port # for CMI8330 chip (SB16)
0482 sbirq
0483     IRQ # for CMI8330 chip (SB16)
0484 sbdma8
0485     8bit DMA # for CMI8330 chip (SB16)
0486 sbdma16
0487     16bit DMA # for CMI8330 chip (SB16)
0488 fmport
0489     (optional) OPL3 I/O port
0490 mpuport
0491     (optional) MPU401 I/O port
0492 mpuirq
0493     (optional) MPU401 irq #
0494 
0495 This module supports multiple cards and autoprobe.
0496 
0497 The power-management is supported.
0498 
0499 Module snd-cmipci
0500 -----------------
0501 
0502 Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
0503 
0504 mpu_port
0505     port address of MIDI interface (8338 only):
0506     0x300,0x310,0x320,0x330 = legacy port,
0507     1 = integrated PCI port (default on 8738),
0508     0 = disable
0509 fm_port
0510     port address of OPL-3 FM synthesizer (8x38 only):
0511     0x388 = legacy port,
0512     1 = integrated PCI port (default on 8738),
0513     0 = disable
0514 soft_ac3
0515     Software-conversion of raw SPDIF packets (model 033 only) (default = 1)
0516 joystick_port
0517     Joystick port address (0 = disable, 1 = auto-detect)
0518 
0519 This module supports autoprobe and multiple cards.
0520 
0521 The power-management is supported.
0522 
0523 Module snd-cs4231
0524 -----------------
0525 
0526 Module for sound cards based on CS4231 ISA chips.
0527 
0528 port
0529     port # for CS4231 chip
0530 mpu_port
0531     port # for MPU-401 UART (optional), -1 = disable
0532 irq
0533     IRQ # for CS4231 chip
0534 mpu_irq
0535     IRQ # for MPU-401 UART
0536 dma1
0537     first DMA # for CS4231 chip
0538 dma2
0539     second DMA # for CS4231 chip
0540 
0541 This module supports multiple cards. This module does not support autoprobe
0542 thus main port must be specified!!! Other ports are optional.
0543 
0544 The power-management is supported.
0545 
0546 Module snd-cs4236
0547 -----------------
0548 
0549 Module for sound cards based on CS4232/CS4232A,
0550 CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips.
0551 
0552 isapnp
0553     ISA PnP detection - 0 = disable, 1 = enable (default)
0554 
0555 with ``isapnp=0``, the following options are available:
0556 
0557 port
0558     port # for CS4236 chip (PnP setup - 0x534)
0559 cport
0560     control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
0561 mpu_port
0562     port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
0563 fm_port
0564     FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
0565 irq
0566     IRQ # for CS4236 chip (5,7,9,11,12,15)
0567 mpu_irq
0568     IRQ # for MPU-401 UART (9,11,12,15)
0569 dma1
0570     first DMA # for CS4236 chip (0,1,3)
0571 dma2
0572     second DMA # for CS4236 chip (0,1,3), -1 = disable
0573 
0574 This module supports multiple cards. This module does not support autoprobe
0575 (if ISA PnP is not used) thus main port and control port must be
0576 specified!!! Other ports are optional.
0577 
0578 The power-management is supported.
0579 
0580 This module is aliased as snd-cs4232 since it provides the old
0581 snd-cs4232 functionality, too.
0582 
0583 Module snd-cs4281
0584 -----------------
0585 
0586 Module for Cirrus Logic CS4281 soundchip.
0587 
0588 dual_codec
0589     Secondary codec ID (0 = disable, default)
0590 
0591 This module supports multiple cards.
0592 
0593 The power-management is supported.
0594 
0595 Module snd-cs46xx
0596 -----------------
0597 
0598 Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
0599 CS4624/CS4630/CS4280 PCI chips.
0600 
0601 external_amp
0602     Force to enable external amplifier.
0603 thinkpad
0604     Force to enable Thinkpad's CLKRUN control.
0605 mmap_valid
0606     Support OSS mmap mode (default = 0).
0607 
0608 This module supports multiple cards and autoprobe.
0609 Usually external amp and CLKRUN controls are detected automatically
0610 from PCI sub vendor/device ids.  If they don't work, give the options
0611 above explicitly.
0612 
0613 The power-management is supported.
0614 
0615 Module snd-cs5530
0616 -----------------
0617 
0618 Module for Cyrix/NatSemi Geode 5530 chip. 
0619 
0620 Module snd-cs5535audio
0621 ----------------------
0622 
0623 Module for multifunction CS5535 companion PCI device
0624 
0625 The power-management is supported.
0626 
0627 Module snd-ctxfi
0628 ----------------
0629 
0630 Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
0631 
0632 * Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series
0633 * Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series
0634 * Creative Sound Blaster X-Fi Titanium Professional Audio
0635 * Creative Sound Blaster X-Fi Titanium
0636 * Creative Sound Blaster X-Fi Elite Pro
0637 * Creative Sound Blaster X-Fi Platinum
0638 * Creative Sound Blaster X-Fi Fatal1ty
0639 * Creative Sound Blaster X-Fi XtremeGamer
0640 * Creative Sound Blaster X-Fi XtremeMusic
0641         
0642 reference_rate
0643     reference sample rate, 44100 or 48000 (default)
0644 multiple
0645     multiple to ref. sample rate, 1 or 2 (default)
0646 subsystem
0647     override the PCI SSID for probing;
0648     the value consists of SSVID << 16 | SSDID.
0649     The default is zero, which means no override.
0650 
0651 This module supports multiple cards.
0652 
0653 Module snd-darla20
0654 ------------------
0655 
0656 Module for Echoaudio Darla20
0657 
0658 This module supports multiple cards.
0659 The driver requires the firmware loader support on kernel.
0660 
0661 Module snd-darla24
0662 ------------------
0663 
0664 Module for Echoaudio Darla24
0665 
0666 This module supports multiple cards.
0667 The driver requires the firmware loader support on kernel.
0668 
0669 Module snd-dt019x
0670 -----------------
0671 
0672 Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
0673 only)
0674 
0675 This module supports multiple cards.  This module is enabled only with
0676 ISA PnP support.
0677 
0678 The power-management is supported.
0679 
0680 Module snd-dummy
0681 ----------------
0682 
0683 Module for the dummy sound card. This "card" doesn't do any output
0684 or input, but you may use this module for any application which
0685 requires a sound card (like RealPlayer).
0686 
0687 pcm_devs
0688     Number of PCM devices assigned to each card (default = 1, up to 4)
0689 pcm_substreams
0690     Number of PCM substreams assigned to each PCM (default = 8, up to 128)
0691 hrtimer
0692     Use hrtimer (=1, default) or system timer (=0)
0693 fake_buffer
0694     Fake buffer allocations (default = 1)
0695 
0696 When multiple PCM devices are created, snd-dummy gives different
0697 behavior to each PCM device:
0698 * 0 = interleaved with mmap support
0699 * 1 = non-interleaved with mmap support
0700 * 2 = interleaved without mmap 
0701 * 3 = non-interleaved without mmap
0702 
0703 As default, snd-dummy drivers doesn't allocate the real buffers
0704 but either ignores read/write or mmap a single dummy page to all
0705 buffer pages, in order to save the resources.  If your apps need
0706 the read/ written buffer data to be consistent, pass fake_buffer=0
0707 option.
0708 
0709 The power-management is supported.
0710 
0711 Module snd-echo3g
0712 -----------------
0713 
0714 Module for Echoaudio 3G cards (Gina3G/Layla3G)
0715 
0716 This module supports multiple cards.
0717 The driver requires the firmware loader support on kernel.
0718 
0719 Module snd-emu10k1
0720 ------------------
0721 
0722 Module for EMU10K1/EMU10k2 based PCI sound cards.
0723 
0724 * Sound Blaster Live!
0725 * Sound Blaster PCI 512
0726 * Emu APS (partially supported)
0727 * Sound Blaster Audigy
0728         
0729 extin
0730     bitmap of available external inputs for FX8010 (see bellow)
0731 extout
0732     bitmap of available external outputs for FX8010 (see bellow)
0733 seq_ports
0734     allocated sequencer ports (4 by default)
0735 max_synth_voices
0736     limit of voices used for wavetable (64 by default)
0737 max_buffer_size
0738     specifies the maximum size of wavetable/pcm buffers given in MB
0739     unit.  Default value is 128.
0740 enable_ir
0741     enable IR
0742 
0743 This module supports multiple cards and autoprobe.
0744 
0745 Input & Output configurations                   [extin/extout]
0746 * Creative Card wo/Digital out                  [0x0003/0x1f03]
0747 * Creative Card w/Digital out                   [0x0003/0x1f0f]
0748 * Creative Card w/Digital CD in                 [0x000f/0x1f0f]
0749 * Creative Card wo/Digital out + LiveDrive      [0x3fc3/0x1fc3]
0750 * Creative Card w/Digital out + LiveDrive       [0x3fc3/0x1fcf]
0751 * Creative Card w/Digital CD in + LiveDrive     [0x3fcf/0x1fcf]
0752 * Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
0753 * Creative Card w/Digital out + Digital I/O 2   [0x0fc3/0x1f0f]
0754 * Creative Card w/Digital CD in + Digital I/O 2 [0x0fcf/0x1f0f]
0755 * Creative Card 5.1/w Digital out + LiveDrive   [0x3fc3/0x1fff]
0756 * Creative Card 5.1 (c) 2003                    [0x3fc3/0x7cff]
0757 * Creative Card all ins and outs                [0x3fff/0x7fff]
0758   
0759 The power-management is supported.
0760   
0761 Module snd-emu10k1x
0762 -------------------
0763 
0764 Module for Creative Emu10k1X (SB Live Dell OEM version)
0765 
0766 This module supports multiple cards.
0767 
0768 Module snd-ens1370
0769 ------------------
0770 
0771 Module for Ensoniq AudioPCI ES1370 PCI sound cards.
0772 
0773 * SoundBlaster PCI 64
0774 * SoundBlaster PCI 128
0775     
0776 joystick
0777     Enable joystick (default off)
0778   
0779 This module supports multiple cards and autoprobe.
0780 
0781 The power-management is supported.
0782 
0783 Module snd-ens1371
0784 ------------------
0785 
0786 Module for Ensoniq AudioPCI ES1371 PCI sound cards.
0787 
0788 * SoundBlaster PCI 64
0789 * SoundBlaster PCI 128
0790 * SoundBlaster Vibra PCI
0791       
0792 joystick_port
0793     port # for joystick (0x200,0x208,0x210,0x218), 0 = disable
0794     (default), 1 = auto-detect
0795   
0796 This module supports multiple cards and autoprobe.
0797 
0798 The power-management is supported.
0799 
0800 Module snd-es1688
0801 -----------------
0802 
0803 Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
0804 
0805 isapnp
0806     ISA PnP detection - 0 = disable, 1 = enable (default)
0807 mpu_port
0808     port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
0809 mpu_irq
0810     IRQ # for MPU-401 port (5,7,9,10)
0811 fm_port
0812     port # for OPL3 (option; share the same port as default)
0813 
0814 with ``isapnp=0``, the following additional options are available:
0815 
0816 port
0817     port # for ES-1688 chip (0x220,0x240,0x260)
0818 irq
0819     IRQ # for ES-1688 chip (5,7,9,10)
0820 dma8
0821     DMA # for ES-1688 chip (0,1,3)
0822 
0823 This module supports multiple cards and autoprobe (without MPU-401 port)
0824 and PnP with the ES968 chip.
0825 
0826 Module snd-es18xx
0827 -----------------
0828 
0829 Module for ESS AudioDrive ES-18xx sound cards.
0830 
0831 isapnp
0832     ISA PnP detection - 0 = disable, 1 = enable (default)
0833 
0834 with ``isapnp=0``, the following options are available:
0835 
0836 port
0837     port # for ES-18xx chip (0x220,0x240,0x260)
0838 mpu_port
0839     port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
0840 fm_port
0841     port # for FM (optional, not used)
0842 irq
0843     IRQ # for ES-18xx chip (5,7,9,10)
0844 dma1
0845     first DMA # for ES-18xx chip (0,1,3)
0846 dma2
0847     first DMA # for ES-18xx chip (0,1,3)
0848 
0849 This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
0850 port if native ISA PnP routines are not used).
0851 When ``dma2`` is equal with ``dma1``, the driver works as half-duplex.
0852 
0853 The power-management is supported.
0854 
0855 Module snd-es1938
0856 -----------------
0857 
0858 Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
0859 
0860 This module supports multiple cards and autoprobe.
0861 
0862 The power-management is supported.
0863 
0864 Module snd-es1968
0865 -----------------
0866 
0867 Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
0868 
0869 total_bufsize
0870     total buffer size in kB (1-4096kB)
0871 pcm_substreams_p
0872     playback channels (1-8, default=2)
0873 pcm_substreams_c
0874     capture channels (1-8, default=0)
0875 clock
0876     clock (0 = auto-detection)
0877 use_pm
0878     support the power-management (0 = off, 1 = on, 2 = auto (default))
0879 enable_mpu
0880     enable MPU401 (0 = off, 1 = on, 2 = auto (default))
0881 joystick
0882     enable joystick (default off)       
0883 
0884 This module supports multiple cards and autoprobe.
0885 
0886 The power-management is supported.
0887 
0888 Module snd-fm801
0889 ----------------
0890 
0891 Module for ForteMedia FM801 based PCI sound cards.
0892 
0893 tea575x_tuner
0894     Enable TEA575x tuner;
0895     1 = MediaForte 256-PCS,
0896     2 = MediaForte 256-PCPR,
0897     3 = MediaForte 64-PCR
0898     High 16-bits are video (radio) device number + 1;
0899     example: 0x10002 (MediaForte 256-PCPR, device 1)
0900           
0901 This module supports multiple cards and autoprobe.
0902 
0903 The power-management is supported.
0904 
0905 Module snd-gina20
0906 -----------------
0907 
0908 Module for Echoaudio Gina20
0909 
0910 This module supports multiple cards.
0911 The driver requires the firmware loader support on kernel.
0912 
0913 Module snd-gina24
0914 -----------------
0915 
0916 Module for Echoaudio Gina24
0917 
0918 This module supports multiple cards.
0919 The driver requires the firmware loader support on kernel.
0920 
0921 Module snd-gusclassic
0922 ---------------------
0923 
0924 Module for Gravis UltraSound Classic sound card.
0925 
0926 port
0927     port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
0928 irq
0929     IRQ # for GF1 chip (3,5,9,11,12,15)
0930 dma1
0931     DMA # for GF1 chip (1,3,5,6,7)
0932 dma2
0933     DMA # for GF1 chip (1,3,5,6,7,-1=disable)
0934 joystick_dac
0935     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
0936 voices
0937     GF1 voices limit (14-32)
0938 pcm_voices
0939     reserved PCM voices
0940 
0941 This module supports multiple cards and autoprobe.
0942 
0943 Module snd-gusextreme
0944 ---------------------
0945 
0946 Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
0947 
0948 port
0949     port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
0950 gf1_port
0951     port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
0952 mpu_port
0953     port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
0954 irq
0955     IRQ # for ES-1688 chip (5,7,9,10)
0956 gf1_irq
0957     IRQ # for GF1 chip (3,5,9,11,12,15)
0958 mpu_irq
0959     IRQ # for MPU-401 port (5,7,9,10)
0960 dma8
0961     DMA # for ES-1688 chip (0,1,3)
0962 dma1
0963     DMA # for GF1 chip (1,3,5,6,7)
0964 joystick_dac
0965     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
0966 voices
0967     GF1 voices limit (14-32)
0968 pcm_voices
0969     reserved PCM voices
0970 
0971 This module supports multiple cards and autoprobe (without MPU-401 port).
0972 
0973 Module snd-gusmax
0974 -----------------
0975 
0976 Module for Gravis UltraSound MAX sound card.
0977 
0978 port
0979     port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
0980 irq
0981     IRQ # for GF1 chip (3,5,9,11,12,15)
0982 dma1
0983     DMA # for GF1 chip (1,3,5,6,7)
0984 dma2
0985     DMA # for GF1 chip (1,3,5,6,7,-1=disable)
0986 joystick_dac
0987     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
0988 voices
0989     GF1 voices limit (14-32)
0990 pcm_voices
0991     reserved PCM voices
0992 
0993 This module supports multiple cards and autoprobe.
0994 
0995 Module snd-hda-intel
0996 --------------------
0997 
0998 Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
0999 PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
1000 RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461
1001 
1002 [Multiple options for each card instance]
1003 
1004 model
1005     force the model name
1006 position_fix
1007     Fix DMA pointer;
1008     -1 = system default: choose appropriate one per controller hardware,
1009     0 = auto: falls back to LPIB when POSBUF doesn't work,
1010     1 = use LPIB,
1011     2 = POSBUF: use position buffer,
1012     3 = VIACOMBO: VIA-specific workaround for capture,
1013     4 = COMBO: use LPIB for playback, auto for capture stream
1014     5 = SKL+: apply the delay calculation available on recent Intel chips
1015     6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips
1016 probe_mask
1017     Bitmask to probe codecs (default = -1, meaning all slots);
1018     When the bit 8 (0x100) is set, the lower 8 bits are used
1019     as the "fixed" codec slots; i.e. the driver probes the
1020     slots regardless what hardware reports back
1021 probe_only
1022     Only probing and no codec initialization (default=off);
1023     Useful to check the initial codec status for debugging
1024 bdl_pos_adj
1025     Specifies the DMA IRQ timing delay in samples.
1026     Passing -1 will make the driver to choose the appropriate
1027     value based on the controller chip.
1028 patch
1029     Specifies the early "patch" files to modify the HD-audio setup
1030     before initializing the codecs.
1031     This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y``
1032     is set.  See hd-audio/notes.rst for details.
1033 beep_mode
1034     Selects the beep registration mode (0=off, 1=on);
1035     default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig.
1036 
1037 [Single (global) options]
1038 
1039 single_cmd
1040     Use single immediate commands to communicate with codecs
1041     (for debugging only)
1042 enable_msi
1043     Enable Message Signaled Interrupt (MSI) (default = off)
1044 power_save
1045     Automatic power-saving timeout (in second, 0 = disable)
1046 power_save_controller
1047     Reset HD-audio controller in power-saving mode (default = on)
1048 align_buffer_size
1049     Force rounding of buffer/period sizes to multiples of 128 bytes.
1050     This is more efficient in terms of memory access but isn't
1051     required by the HDA spec and prevents users from specifying
1052     exact period/buffer sizes. (default = on)
1053 snoop
1054     Enable/disable snooping (default = on)
1055 
1056 This module supports multiple cards and autoprobe.
1057 
1058 See hd-audio/notes.rst for more details about HD-audio driver.
1059 
1060 Each codec may have a model table for different configurations.
1061 If your machine isn't listed there, the default (usually minimal)
1062 configuration is set up.  You can pass ``model=<name>`` option to
1063 specify a certain model in such a case.  There are different
1064 models depending on the codec chip.  The list of available models
1065 is found in hd-audio/models.rst.
1066 
1067 The model name ``generic`` is treated as a special case.  When this
1068 model is given, the driver uses the generic codec parser without
1069 "codec-patch".  It's sometimes good for testing and debugging.
1070 
1071 The model option can be used also for aliasing to another PCI or codec
1072 SSID.  When it's passed in the form of ``model=XXXX:YYYY`` where XXXX
1073 and YYYY are the sub-vendor and sub-device IDs in hex numbers,
1074 respectively, the driver will refer to that SSID as a reference to the
1075 quirk table.
1076 
1077 If the default configuration doesn't work and one of the above
1078 matches with your device, report it together with alsa-info.sh
1079 output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel
1080 ML (see the section `Links and Addresses`_).
1081 
1082 ``power_save`` and ``power_save_controller`` options are for power-saving
1083 mode.  See powersave.rst for details.
1084 
1085 Note 2: If you get click noises on output, try the module option
1086 ``position_fix=1`` or ``2``.  ``position_fix=1`` will use the SD_LPIB
1087 register value without FIFO size correction as the current
1088 DMA pointer.  ``position_fix=2`` will make the driver to use
1089 the position buffer instead of reading SD_LPIB register.
1090 (Usually SD_LPIB register is more accurate than the
1091 position buffer.)
1092 
1093 ``position_fix=3`` is specific to VIA devices.  The position
1094 of the capture stream is checked from both LPIB and POSBUF
1095 values.  ``position_fix=4`` is a combination mode, using LPIB
1096 for playback and POSBUF for capture.
1097 
1098 NB: If you get many ``azx_get_response timeout`` messages at
1099 loading, it's likely a problem of interrupts (e.g. ACPI irq
1100 routing).  Try to boot with options like ``pci=noacpi``.  Also, you
1101 can try ``single_cmd=1`` module option.  This will switch the
1102 communication method between HDA controller and codecs to the
1103 single immediate commands instead of CORB/RIRB.  Basically, the
1104 single command mode is provided only for BIOS, and you won't get
1105 unsolicited events, too.  But, at least, this works independently
1106 from the irq.  Remember this is a last resort, and should be
1107 avoided as much as possible...
1108 
1109 MORE NOTES ON ``azx_get_response timeout`` PROBLEMS:
1110 On some hardware, you may need to add a proper probe_mask option
1111 to avoid the ``azx_get_response timeout`` problem above, instead.
1112 This occurs when the access to non-existing or non-working codec slot
1113 (likely a modem one) causes a stall of the communication via HD-audio
1114 bus.  You can see which codec slots are probed by enabling
1115 ``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec
1116 proc files.  Then limit the slots to probe by probe_mask option.
1117 For example, ``probe_mask=1`` means to probe only the first slot, and
1118 ``probe_mask=4`` means only the third slot.
1119 
1120 The power-management is supported.
1121 
1122 Module snd-hdsp
1123 ---------------
1124 
1125 Module for RME Hammerfall DSP audio interface(s)
1126 
1127 This module supports multiple cards.
1128 
1129 Note: The firmware data can be automatically loaded via hotplug
1130 when ``CONFIG_FW_LOADER`` is set.  Otherwise, you need to load
1131 the firmware via hdsploader utility included in alsa-tools
1132 package.
1133 The firmware data is found in alsa-firmware package.
1134 
1135 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1136 module did formerly.  It will allocate the buffers in advance
1137 when any HDSP cards are found.  To make the buffer
1138 allocation sure, load snd-page-alloc module in the early
1139 stage of boot sequence.  See `Early Buffer Allocation`_
1140 section.
1141 
1142 Module snd-hdspm
1143 ----------------
1144 
1145 Module for RME HDSP MADI board.
1146 
1147 precise_ptr
1148     Enable precise pointer, or disable.
1149 line_outs_monitor
1150     Send playback streams to analog outs by default.
1151 enable_monitor
1152     Enable Analog Out on Channel 63/64 by default.
1153 
1154 See hdspm.rst for details.
1155 
1156 Module snd-ice1712
1157 ------------------
1158 
1159 Module for Envy24 (ICE1712) based PCI sound cards.
1160 
1161 * MidiMan M Audio Delta 1010
1162 * MidiMan M Audio Delta 1010LT
1163 * MidiMan M Audio Delta DiO 2496
1164 * MidiMan M Audio Delta 66
1165 * MidiMan M Audio Delta 44
1166 * MidiMan M Audio Delta 410
1167 * MidiMan M Audio Audiophile 2496
1168 * TerraTec EWS 88MT
1169 * TerraTec EWS 88D
1170 * TerraTec EWX 24/96
1171 * TerraTec DMX 6Fire
1172 * TerraTec Phase 88
1173 * Hoontech SoundTrack DSP 24
1174 * Hoontech SoundTrack DSP 24 Value
1175 * Hoontech SoundTrack DSP 24 Media 7.1
1176 * Event Electronics, EZ8
1177 * Digigram VX442
1178 * Lionstracs, Mediastaton
1179 * Terrasoniq TS 88
1180                         
1181 model
1182     Use the given board model, one of the following:
1183     delta1010, dio2496, delta66, delta44, audiophile, delta410,
1184     delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
1185     dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
1186     phase88, mediastation
1187 omni
1188     Omni I/O support for MidiMan M-Audio Delta44/66
1189 cs8427_timeout
1190     reset timeout for the CS8427 chip (S/PDIF transceiver) in msec
1191     resolution, default value is 500 (0.5 sec)
1192 
1193 This module supports multiple cards and autoprobe.
1194 Note: The consumer part is not used with all Envy24 based cards (for
1195 example in the MidiMan Delta siree).
1196 
1197 Note: The supported board is detected by reading EEPROM or PCI
1198 SSID (if EEPROM isn't available).  You can override the
1199 model by passing ``model`` module option in case that the
1200 driver isn't configured properly or you want to try another
1201 type for testing.
1202 
1203 Module snd-ice1724
1204 ------------------
1205 
1206 Module for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
1207 
1208 * MidiMan M Audio Revolution 5.1
1209 * MidiMan M Audio Revolution 7.1
1210 * MidiMan M Audio Audiophile 192
1211 * AMP Ltd AUDIO2000
1212 * TerraTec Aureon 5.1 Sky
1213 * TerraTec Aureon 7.1 Space
1214 * TerraTec Aureon 7.1 Universe
1215 * TerraTec Phase 22
1216 * TerraTec Phase 28
1217 * AudioTrak Prodigy 7.1
1218 * AudioTrak Prodigy 7.1 LT
1219 * AudioTrak Prodigy 7.1 XT
1220 * AudioTrak Prodigy 7.1 HIFI
1221 * AudioTrak Prodigy 7.1 HD2
1222 * AudioTrak Prodigy 192
1223 * Pontis MS300
1224 * Albatron K8X800 Pro II 
1225 * Chaintech ZNF3-150
1226 * Chaintech ZNF3-250
1227 * Chaintech 9CJS
1228 * Chaintech AV-710
1229 * Shuttle SN25P
1230 * Onkyo SE-90PCI
1231 * Onkyo SE-200PCI
1232 * ESI Juli@
1233 * ESI Maya44
1234 * Hercules Fortissimo IV
1235 * EGO-SYS WaveTerminal 192M
1236                         
1237 model
1238     Use the given board model, one of the following:
1239     revo51, revo71, amp2000, prodigy71, prodigy71lt,
1240     prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,
1241     juli, aureon51, aureon71, universe, ap192, k8x800,
1242     phase22, phase28, ms300, av710, se200pci, se90pci,
1243     fortissimo4, sn25p, WT192M, maya44
1244   
1245 This module supports multiple cards and autoprobe.
1246 
1247 Note: The supported board is detected by reading EEPROM or PCI
1248 SSID (if EEPROM isn't available).  You can override the
1249 model by passing ``model`` module option in case that the
1250 driver isn't configured properly or you want to try another
1251 type for testing.
1252 
1253 Module snd-indigo
1254 -----------------
1255 
1256 Module for Echoaudio Indigo
1257 
1258 This module supports multiple cards.
1259 The driver requires the firmware loader support on kernel.
1260 
1261 Module snd-indigodj
1262 -------------------
1263 
1264 Module for Echoaudio Indigo DJ
1265 
1266 This module supports multiple cards.
1267 The driver requires the firmware loader support on kernel.
1268 
1269 Module snd-indigoio
1270 -------------------
1271 
1272 Module for Echoaudio Indigo IO
1273 
1274 This module supports multiple cards.
1275 The driver requires the firmware loader support on kernel.
1276 
1277 Module snd-intel8x0
1278 -------------------
1279 
1280 Module for AC'97 motherboards from Intel and compatibles.
1281 
1282 * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7,
1283   6300ESB, ESB2 
1284 * SiS 7012 (SiS 735)
1285 * NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501
1286 * AMD AMD768, AMD8111
1287 * ALi m5455
1288           
1289 ac97_clock
1290     AC'97 codec clock base (0 = auto-detect)
1291 ac97_quirk
1292     AC'97 workaround for strange hardware;
1293     See `AC97 Quirk Option`_ section below.
1294 buggy_irq
1295     Enable workaround for buggy interrupts on some motherboards
1296     (default yes on nForce chips, otherwise off)
1297 buggy_semaphore
1298     Enable workaround for hardware with buggy semaphores (e.g. on some
1299     ASUS laptops) (default off)
1300 spdif_aclink
1301     Use S/PDIF over AC-link instead of direct connection from the
1302     controller chip (0 = off, 1 = on, -1 = default)
1303 
1304 This module supports one chip and autoprobe.
1305 
1306 Note: the latest driver supports auto-detection of chip clock.
1307 if you still encounter too fast playback, specify the clock
1308 explicitly via the module option ``ac97_clock=41194``.
1309 
1310 Joystick/MIDI ports are not supported by this driver.  If your
1311 motherboard has these devices, use the ns558 or snd-mpu401
1312 modules, respectively.
1313 
1314 The power-management is supported.
1315 
1316 Module snd-intel8x0m
1317 --------------------
1318 
1319 Module for Intel ICH (i8x0) chipset MC97 modems.
1320 
1321 * Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7
1322 * SiS 7013 (SiS 735)
1323 * NVidia NForce, NForce2, NForce2s, NForce3
1324 * AMD AMD8111
1325 * ALi m5455
1326           
1327 ac97_clock
1328     AC'97 codec clock base (0 = auto-detect)
1329   
1330 This module supports one card and autoprobe.
1331 
1332 Note: The default index value of this module is -2, i.e. the first
1333 slot is excluded.
1334 
1335 The power-management is supported.
1336 
1337 Module snd-interwave
1338 --------------------
1339 
1340 Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1341 and other sound cards based on AMD InterWave (tm) chip.
1342 
1343 joystick_dac
1344     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1345 midi
1346     1 = MIDI UART enable, 0 = MIDI UART disable (default)
1347 pcm_voices
1348     reserved PCM voices for the synthesizer (default 2)
1349 effect
1350     1 = InterWave effects enable (default 0); requires 8 voices
1351 isapnp
1352     ISA PnP detection - 0 = disable, 1 = enable (default)
1353 
1354 with ``isapnp=0``, the following options are available:
1355 
1356 port
1357     port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1358 irq
1359     IRQ # for InterWave chip (3,5,9,11,12,15)
1360 dma1
1361     DMA # for InterWave chip (0,1,3,5,6,7)
1362 dma2
1363     DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1364 
1365 This module supports multiple cards, autoprobe and ISA PnP.
1366 
1367 Module snd-interwave-stb
1368 ------------------------
1369 
1370 Module for UltraSound 32-Pro (sound card from STB used by Compaq)
1371 and other sound cards based on AMD InterWave (tm) chip with TEA6330T
1372 circuit for extended control of bass, treble and master volume.
1373 
1374 joystick_dac
1375     0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1376 midi
1377     1 = MIDI UART enable, 0 = MIDI UART disable (default)
1378 pcm_voices
1379     reserved PCM voices for the synthesizer (default 2)
1380 effect
1381     1 = InterWave effects enable (default 0); requires 8 voices
1382 isapnp
1383     ISA PnP detection - 0 = disable, 1 = enable (default)
1384 
1385 with ``isapnp=0``, the following options are available:
1386 
1387 port
1388     port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1389 port_tc
1390     tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1391 irq
1392     IRQ # for InterWave chip (3,5,9,11,12,15)
1393 dma1
1394     DMA # for InterWave chip (0,1,3,5,6,7)
1395 dma2
1396     DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1397 
1398 This module supports multiple cards, autoprobe and ISA PnP.
1399 
1400 Module snd-jazz16
1401 -------------------
1402 
1403 Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
1404 MVD1216 + MVA416 + MVA514.
1405 
1406 port
1407     port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
1408 irq
1409     IRQ # for SB DSP chip (3,5,7,9,10,15)
1410 dma8
1411     DMA # for SB DSP chip (1,3)
1412 dma16
1413     DMA # for SB DSP chip (5,7)
1414 mpu_port
1415     MPU-401 port # (0x300,0x310,0x320,0x330)
1416 mpu_irq
1417     MPU-401 irq # (2,3,5,7)
1418 
1419 This module supports multiple cards.
1420 
1421 Module snd-korg1212
1422 -------------------
1423 
1424 Module for Korg 1212 IO PCI card
1425 
1426 This module supports multiple cards.
1427 
1428 Module snd-layla20
1429 ------------------
1430 
1431 Module for Echoaudio Layla20
1432 
1433 This module supports multiple cards.
1434 The driver requires the firmware loader support on kernel.
1435 
1436 Module snd-layla24
1437 ------------------
1438 
1439 Module for Echoaudio Layla24
1440 
1441 This module supports multiple cards.
1442 The driver requires the firmware loader support on kernel.
1443 
1444 Module snd-lola
1445 ---------------
1446 
1447 Module for Digigram Lola PCI-e boards
1448 
1449 This module supports multiple cards.
1450 
1451 Module snd-lx6464es
1452 -------------------
1453 
1454 Module for Digigram LX6464ES boards
1455 
1456 This module supports multiple cards.
1457 
1458 Module snd-maestro3
1459 -------------------
1460 
1461 Module for Allegro/Maestro3 chips
1462 
1463 external_amp
1464     enable external amp (enabled by default)
1465 amp_gpio
1466     GPIO pin number for external amp (0-15) or -1 for default pin (8
1467     for allegro, 1 for others) 
1468 
1469 This module supports autoprobe and multiple chips.
1470 
1471 Note: the binding of amplifier is dependent on hardware.
1472 If there is no sound even though all channels are unmuted, try to
1473 specify other gpio connection via amp_gpio option. 
1474 For example, a Panasonic notebook might need ``amp_gpio=0x0d``
1475 option.
1476 
1477 The power-management is supported.
1478 
1479 Module snd-mia
1480 ---------------
1481 
1482 Module for Echoaudio Mia
1483 
1484 This module supports multiple cards.
1485 The driver requires the firmware loader support on kernel.
1486 
1487 Module snd-miro
1488 ---------------
1489 
1490 Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,
1491 miroSOUND PCM 20 Radio.
1492 
1493 port
1494     Port # (0x530,0x604,0xe80,0xf40)
1495 irq
1496     IRQ # (5,7,9,10,11)
1497 dma1
1498     1st dma # (0,1,3)
1499 dma2
1500     2nd dma # (0,1)
1501 mpu_port
1502     MPU-401 port # (0x300,0x310,0x320,0x330)
1503 mpu_irq
1504     MPU-401 irq # (5,7,9,10)
1505 fm_port
1506     FM Port # (0x388)
1507 wss
1508     enable WSS mode
1509 ide
1510     enable onboard ide support
1511 
1512 Module snd-mixart
1513 -----------------
1514 
1515 Module for Digigram miXart8 sound cards.
1516 
1517 This module supports multiple cards.
1518 Note: One miXart8 board will be represented as 4 alsa cards.
1519 See Documentation/sound/cards/mixart.rst for details.
1520 
1521 When the driver is compiled as a module and the hotplug firmware
1522 is supported, the firmware data is loaded via hotplug automatically.
1523 Install the necessary firmware files in alsa-firmware package.
1524 When no hotplug fw loader is available, you need to load the
1525 firmware via mixartloader utility in alsa-tools package.
1526 
1527 Module snd-mona
1528 ---------------
1529 
1530 Module for Echoaudio Mona
1531 
1532 This module supports multiple cards.
1533 The driver requires the firmware loader support on kernel.
1534 
1535 Module snd-mpu401
1536 -----------------
1537 
1538 Module for MPU-401 UART devices.
1539 
1540 port
1541     port number or -1 (disable)
1542 irq
1543     IRQ number or -1 (disable)
1544 pnp
1545     PnP detection - 0 = disable, 1 = enable (default)
1546 
1547 This module supports multiple devices and PnP.
1548 
1549 Module snd-msnd-classic
1550 -----------------------
1551 
1552 Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
1553 soundcards.
1554 
1555 io
1556     Port # for msnd-classic card
1557 irq
1558     IRQ # for msnd-classic card
1559 mem
1560     Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1561 write_ndelay
1562     enable write ndelay (default = 1)
1563 calibrate_signal
1564     calibrate signal (default = 0)
1565 isapnp
1566     ISA PnP detection - 0 = disable, 1 = enable (default)
1567 digital
1568     Digital daughterboard present (default = 0)
1569 cfg
1570     Config port (0x250, 0x260 or 0x270) default = PnP
1571 reset
1572     Reset all devices
1573 mpu_io
1574     MPU401 I/O port
1575 mpu_irq
1576     MPU401 irq#
1577 ide_io0
1578     IDE port #0
1579 ide_io1
1580     IDE port #1
1581 ide_irq
1582     IDE irq#
1583 joystick_io
1584     Joystick I/O port
1585 
1586 The driver requires firmware files ``turtlebeach/msndinit.bin`` and
1587 ``turtlebeach/msndperm.bin`` in the proper firmware directory.
1588 
1589 See Documentation/sound/cards/multisound.sh for important information
1590 about this driver.  Note that it has been discontinued, but the 
1591 Voyetra Turtle Beach knowledge base entry for it is still available
1592 at
1593 https://www.turtlebeach.com
1594 
1595 Module snd-msnd-pinnacle
1596 ------------------------
1597 
1598 Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1599 
1600 io
1601     Port # for pinnacle/fiji card
1602 irq
1603     IRQ # for pinnalce/fiji card
1604 mem
1605     Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1606 write_ndelay
1607     enable write ndelay (default = 1)
1608 calibrate_signal
1609     calibrate signal (default = 0)
1610 isapnp
1611     ISA PnP detection - 0 = disable, 1 = enable (default)
1612 
1613 The driver requires firmware files ``turtlebeach/pndspini.bin`` and
1614 ``turtlebeach/pndsperm.bin`` in the proper firmware directory.
1615 
1616 Module snd-mtpav
1617 ----------------
1618 
1619 Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1620 port).
1621 
1622 port
1623     I/O port # for MTPAV (0x378,0x278, default=0x378)
1624 irq
1625     IRQ # for MTPAV (7,5, default=7)
1626 hwports
1627     number of supported hardware ports, default=8.
1628 
1629 Module supports only 1 card.  This module has no enable option.
1630 
1631 Module snd-mts64
1632 ----------------
1633 
1634 Module for Ego Systems (ESI) Miditerminal 4140
1635 
1636 This module supports multiple devices.
1637 Requires parport (``CONFIG_PARPORT``).
1638 
1639 Module snd-nm256
1640 ----------------
1641 
1642 Module for NeoMagic NM256AV/ZX chips
1643 
1644 playback_bufsize
1645     max playback frame size in kB (4-128kB)
1646 capture_bufsize
1647     max capture frame size in kB (4-128kB)
1648 force_ac97
1649     0 or 1 (disabled by default)
1650 buffer_top
1651     specify buffer top address
1652 use_cache
1653     0 or 1 (disabled by default)
1654 vaio_hack
1655     alias buffer_top=0x25a800
1656 reset_workaround
1657     enable AC97 RESET workaround for some laptops
1658 reset_workaround2
1659     enable extended AC97 RESET workaround for some other laptops
1660 
1661 This module supports one chip and autoprobe.
1662 
1663 The power-management is supported.
1664 
1665 Note: on some notebooks the buffer address cannot be detected
1666 automatically, or causes hang-up during initialization.
1667 In such a case, specify the buffer top address explicitly via
1668 the buffer_top option.
1669 For example,
1670 Sony F250: buffer_top=0x25a800
1671 Sony F270: buffer_top=0x272800
1672 The driver supports only ac97 codec.  It's possible to force
1673 to initialize/use ac97 although it's not detected.  In such a
1674 case, use ``force_ac97=1`` option - but *NO* guarantee whether it
1675 works!
1676 
1677 Note: The NM256 chip can be linked internally with non-AC97
1678 codecs.  This driver supports only the AC97 codec, and won't work
1679 with machines with other (most likely CS423x or OPL3SAx) chips,
1680 even though the device is detected in lspci.  In such a case, try
1681 other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
1682 but some doesn't have ISA PnP.  You'll need to specify ``isapnp=0``
1683 and proper hardware parameters in the case without ISA PnP.
1684 
1685 Note: some laptops need a workaround for AC97 RESET.  For the
1686 known hardware like Dell Latitude LS and Sony PCG-F305, this
1687 workaround is enabled automatically.  For other laptops with a
1688 hard freeze, you can try ``reset_workaround=1`` option.
1689 
1690 Note: Dell Latitude CSx laptops have another problem regarding
1691 AC97 RESET.  On these laptops, reset_workaround2 option is
1692 turned on as default.  This option is worth to try if the
1693 previous reset_workaround option doesn't help.
1694 
1695 Note: This driver is really crappy.  It's a porting from the
1696 OSS driver, which is a result of black-magic reverse engineering.
1697 The detection of codec will fail if the driver is loaded *after*
1698 X-server as described above.  You might be able to force to load
1699 the module, but it may result in hang-up.   Hence, make sure that
1700 you load this module *before* X if you encounter this kind of
1701 problem.
1702 
1703 Module snd-opl3sa2
1704 ------------------
1705 
1706 Module for Yamaha OPL3-SA2/SA3 sound cards.
1707 
1708 isapnp
1709     ISA PnP detection - 0 = disable, 1 = enable (default)
1710 
1711 with ``isapnp=0``, the following options are available:
1712 
1713 port
1714     control port # for OPL3-SA chip (0x370)
1715 sb_port
1716     SB port # for OPL3-SA chip (0x220,0x240)
1717 wss_port
1718     WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1719 midi_port
1720     port # for MPU-401 UART (0x300,0x330), -1 = disable
1721 fm_port
1722     FM port # for OPL3-SA chip (0x388), -1 = disable
1723 irq
1724     IRQ # for OPL3-SA chip (5,7,9,10)
1725 dma1
1726     first DMA # for Yamaha OPL3-SA chip (0,1,3)
1727 dma2
1728     second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1729 
1730 This module supports multiple cards and ISA PnP.  It does not support
1731 autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1732 
1733 The power-management is supported.
1734 
1735 Module snd-opti92x-ad1848
1736 -------------------------
1737 
1738 Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1739 Module works with OAK Mozart cards as well.
1740 
1741 isapnp
1742     ISA PnP detection - 0 = disable, 1 = enable (default)
1743 
1744 with ``isapnp=0``, the following options are available:
1745 
1746 port
1747     port # for WSS chip (0x530,0xe80,0xf40,0x604)
1748 mpu_port
1749     port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1750 fm_port
1751     port # for OPL3 device (0x388)
1752 irq
1753     IRQ # for WSS chip (5,7,9,10,11)
1754 mpu_irq
1755     IRQ # for MPU-401 UART (5,7,9,10)
1756 dma1
1757     first DMA # for WSS chip (0,1,3)
1758 
1759 This module supports only one card, autoprobe and PnP.
1760 
1761 Module snd-opti92x-cs4231
1762 -------------------------
1763 
1764 Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1765 
1766 isapnp
1767     ISA PnP detection - 0 = disable, 1 = enable (default)
1768 
1769 with ``isapnp=0``, the following options are available:
1770 
1771 port
1772     port # for WSS chip (0x530,0xe80,0xf40,0x604)
1773 mpu_port
1774     port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1775 fm_port
1776     port # for OPL3 device (0x388)
1777 irq
1778     IRQ # for WSS chip (5,7,9,10,11)
1779 mpu_irq
1780     IRQ # for MPU-401 UART (5,7,9,10)
1781 dma1
1782     first DMA # for WSS chip (0,1,3)
1783 dma2
1784     second DMA # for WSS chip (0,1,3)
1785 
1786 This module supports only one card, autoprobe and PnP.
1787 
1788 Module snd-opti93x
1789 ------------------
1790 
1791 Module for sound cards based on OPTi 82c93x chips.
1792 
1793 isapnp
1794     ISA PnP detection - 0 = disable, 1 = enable (default)
1795 
1796 with ``isapnp=0``, the following options are available:
1797 
1798 port
1799     port # for WSS chip (0x530,0xe80,0xf40,0x604)
1800 mpu_port
1801     port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1802 fm_port
1803     port # for OPL3 device (0x388)
1804 irq
1805     IRQ # for WSS chip (5,7,9,10,11)
1806 mpu_irq
1807     IRQ # for MPU-401 UART (5,7,9,10)
1808 dma1
1809     first DMA # for WSS chip (0,1,3)
1810 dma2
1811     second DMA # for WSS chip (0,1,3)
1812 
1813 This module supports only one card, autoprobe and PnP.
1814 
1815 Module snd-oxygen
1816 -----------------
1817 
1818 Module for sound cards based on the C-Media CMI8786/8787/8788 chip:
1819 
1820 * Asound A-8788
1821 * Asus Xonar DG/DGX
1822 * AuzenTech X-Meridian
1823 * AuzenTech X-Meridian 2G
1824 * Bgears b-Enspirer
1825 * Club3D Theatron DTS
1826 * HT-Omega Claro (plus)
1827 * HT-Omega Claro halo (XT)
1828 * Kuroutoshikou CMI8787-HG2PCI
1829 * Razer Barracuda AC-1
1830 * Sondigo Inferno
1831 * TempoTec HiFier Fantasia
1832 * TempoTec HiFier Serenade
1833     
1834 This module supports autoprobe and multiple cards.
1835   
1836 Module snd-pcsp
1837 ---------------
1838 
1839 Module for internal PC-Speaker.
1840 
1841 nopcm
1842     Disable PC-Speaker PCM sound. Only beeps remain.
1843 nforce_wa
1844     enable NForce chipset workaround. Expect bad sound.
1845 
1846 This module supports system beeps, some kind of PCM playback and
1847 even a few mixer controls.
1848 
1849 Module snd-pcxhr
1850 ----------------
1851 
1852 Module for Digigram PCXHR boards
1853 
1854 This module supports multiple cards.
1855 
1856 Module snd-portman2x4
1857 ---------------------
1858 
1859 Module for Midiman Portman 2x4 parallel port MIDI interface
1860 
1861 This module supports multiple cards.
1862 
1863 Module snd-powermac (on ppc only)
1864 ---------------------------------
1865 
1866 Module for PowerMac, iMac and iBook on-board soundchips
1867 
1868 enable_beep
1869     enable beep using PCM (enabled as default)
1870 
1871 Module supports autoprobe a chip.
1872 
1873 Note: the driver may have problems regarding endianness.
1874 
1875 The power-management is supported.
1876 
1877 Module snd-pxa2xx-ac97 (on arm only)
1878 ------------------------------------
1879 
1880 Module for AC97 driver for the Intel PXA2xx chip
1881 
1882 For ARM architecture only.
1883 
1884 The power-management is supported.
1885 
1886 Module snd-riptide
1887 ------------------
1888 
1889 Module for Conexant Riptide chip
1890 
1891 joystick_port
1892     Joystick port # (default: 0x200)
1893 mpu_port
1894     MPU401 port # (default: 0x330)
1895 opl3_port
1896     OPL3 port # (default: 0x388)
1897 
1898 This module supports multiple cards.
1899 The driver requires the firmware loader support on kernel.
1900 You need to install the firmware file ``riptide.hex`` to the standard
1901 firmware path (e.g. /lib/firmware).
1902 
1903 Module snd-rme32
1904 ----------------
1905 
1906 Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
1907 Prodif96 and Prodif Gold) sound cards.
1908 
1909 This module supports multiple cards.
1910 
1911 Module snd-rme96
1912 ----------------
1913 
1914 Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1915 
1916 This module supports multiple cards.
1917 
1918 Module snd-rme9652
1919 ------------------
1920 
1921 Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1922 
1923 precise_ptr
1924     Enable precise pointer (doesn't work reliably). (default = 0)
1925 
1926 This module supports multiple cards.
1927 
1928 Note: snd-page-alloc module does the job which snd-hammerfall-mem
1929 module did formerly.  It will allocate the buffers in advance
1930 when any RME9652 cards are found.  To make the buffer
1931 allocation sure, load snd-page-alloc module in the early
1932 stage of boot sequence.  See `Early Buffer Allocation`_
1933 section.
1934 
1935 Module snd-sa11xx-uda1341 (on arm only)
1936 ---------------------------------------
1937 
1938 Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1939 
1940 Module supports only one card.
1941 Module has no enable and index options.
1942 
1943 The power-management is supported.
1944 
1945 Module snd-sb8
1946 --------------
1947 
1948 Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,
1949 SoundBlaster Pro
1950 
1951 port
1952     port # for SB DSP chip (0x220,0x240,0x260)
1953 irq
1954     IRQ # for SB DSP chip (5,7,9,10)
1955 dma8
1956     DMA # for SB DSP chip (1,3)
1957 
1958 This module supports multiple cards and autoprobe.
1959 
1960 The power-management is supported.
1961 
1962 Module snd-sb16 and snd-sbawe
1963 -----------------------------
1964 
1965 Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1966 SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP
1967 
1968 mic_agc
1969     Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1970 csp
1971     ASP/CSP chip support - 0 = disable (default), 1 = enable
1972 isapnp
1973     ISA PnP detection - 0 = disable, 1 = enable (default)
1974 
1975 with isapnp=0, the following options are available:
1976 
1977 port
1978     port # for SB DSP 4.x chip (0x220,0x240,0x260)
1979 mpu_port
1980     port # for MPU-401 UART (0x300,0x330), -1 = disable
1981 awe_port
1982     base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe
1983     module only)
1984 irq
1985     IRQ # for SB DSP 4.x chip (5,7,9,10)
1986 dma8
1987     8-bit DMA # for SB DSP 4.x chip (0,1,3)
1988 dma16
1989     16-bit DMA # for SB DSP 4.x chip (5,6,7)
1990 
1991 This module supports multiple cards, autoprobe and ISA PnP.
1992 
1993 Note: To use Vibra16X cards in 16-bit half duplex mode, you must
1994 disable 16bit DMA with dma16 = -1 module parameter.
1995 Also, all Sound Blaster 16 type cards can operate in 16-bit
1996 half duplex mode through 8-bit DMA channel by disabling their
1997 16-bit DMA channel.
1998 
1999 The power-management is supported.
2000 
2001 Module snd-sc6000
2002 -----------------
2003 
2004 Module for Gallant SC-6000 soundcard and later models: SC-6600 and
2005 SC-7000.
2006 
2007 port
2008     Port # (0x220 or 0x240)
2009 mss_port
2010     MSS Port # (0x530 or 0xe80)
2011 irq
2012     IRQ # (5,7,9,10,11)
2013 mpu_irq
2014     MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
2015 dma
2016     DMA # (1,3,0)
2017 joystick
2018     Enable gameport - 0 = disable (default), 1 = enable
2019 
2020 This module supports multiple cards.
2021 
2022 This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
2023 
2024 Module snd-sscape
2025 -----------------
2026 
2027 Module for ENSONIQ SoundScape cards.
2028 
2029 port
2030     Port # (PnP setup)
2031 wss_port
2032     WSS Port # (PnP setup)
2033 irq
2034     IRQ # (PnP setup)
2035 mpu_irq
2036     MPU-401 IRQ # (PnP setup)
2037 dma
2038     DMA # (PnP setup)
2039 dma2
2040     2nd DMA # (PnP setup, -1 to disable)
2041 joystick
2042     Enable gameport - 0 = disable (default), 1 = enable
2043 
2044 This module supports multiple cards.
2045 
2046 The driver requires the firmware loader support on kernel.
2047 
2048 Module snd-sun-amd7930 (on sparc only)
2049 --------------------------------------
2050 
2051 Module for AMD7930 sound chips found on Sparcs.
2052 
2053 This module supports multiple cards.
2054 
2055 Module snd-sun-cs4231 (on sparc only)
2056 -------------------------------------
2057 
2058 Module for CS4231 sound chips found on Sparcs.
2059 
2060 This module supports multiple cards.
2061 
2062 Module snd-sun-dbri (on sparc only)
2063 -----------------------------------
2064 
2065 Module for DBRI sound chips found on Sparcs.
2066 
2067 This module supports multiple cards.
2068 
2069 Module snd-wavefront
2070 --------------------
2071 
2072 Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
2073 
2074 use_cs4232_midi
2075     Use CS4232 MPU-401 interface
2076     (inaccessibly located inside your computer)
2077 isapnp
2078     ISA PnP detection - 0 = disable, 1 = enable (default)
2079 
2080 with isapnp=0, the following options are available:
2081 
2082 cs4232_pcm_port
2083     Port # for CS4232 PCM interface.
2084 cs4232_pcm_irq
2085     IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
2086 cs4232_mpu_port
2087     Port # for CS4232 MPU-401 interface.
2088 cs4232_mpu_irq
2089     IRQ # for CS4232 MPU-401 interface (9,11,12,15).
2090 ics2115_port
2091     Port # for ICS2115
2092 ics2115_irq
2093     IRQ # for ICS2115
2094 fm_port
2095     FM OPL-3 Port #
2096 dma1
2097     DMA1 # for CS4232 PCM interface.
2098 dma2
2099     DMA2 # for CS4232 PCM interface.
2100 
2101 The below are options for wavefront_synth features:
2102 
2103 wf_raw
2104     Assume that we need to boot the OS (default:no);
2105     If yes, then during driver loading, the state of the board is
2106     ignored, and we reset the board and load the firmware anyway.
2107 fx_raw
2108     Assume that the FX process needs help (default:yes);
2109     If false, we'll leave the FX processor in whatever state it is
2110     when the driver is loaded.  The default is to download the
2111     microprogram and associated coefficients to set it up for
2112     "default" operation, whatever that means.
2113 debug_default
2114     Debug parameters for card initialization
2115 wait_usecs
2116     How long to wait without sleeping, usecs (default:150);
2117     This magic number seems to give pretty optimal throughput
2118     based on my limited experimentation. 
2119     If you want to play around with it and find a better value, be
2120     my guest. Remember, the idea is to get a number that causes us
2121     to just busy wait for as many WaveFront commands as possible,
2122     without coming up with a number so large that we hog the whole
2123     CPU. 
2124     Specifically, with this number, out of about 134,000 status
2125     waits, only about 250 result in a sleep. 
2126 sleep_interval
2127     How long to sleep when waiting for reply (default: 100)
2128 sleep_tries
2129     How many times to try sleeping during a wait (default: 50)
2130 ospath
2131     Pathname to processed ICS2115 OS firmware (default:wavefront.os);
2132     The path name of the ISC2115 OS firmware.  In the recent
2133     version, it's handled via firmware loader framework, so it
2134     must be installed in the proper path, typically,
2135     /lib/firmware.
2136 reset_time
2137     How long to wait for a reset to take effect (default:2)
2138 ramcheck_time
2139     How many seconds to wait for the RAM test (default:20)
2140 osrun_time
2141     How many seconds to wait for the ICS2115 OS (default:10)
2142 
2143 This module supports multiple cards and ISA PnP.
2144 
2145 Note: the firmware file ``wavefront.os`` was located in the earlier
2146 version in /etc.  Now it's loaded via firmware loader, and
2147 must be in the proper firmware path, such as /lib/firmware.
2148 Copy (or symlink) the file appropriately if you get an error
2149 regarding firmware downloading after upgrading the kernel.
2150 
2151 Module snd-sonicvibes
2152 ---------------------
2153 
2154 Module for S3 SonicVibes PCI sound cards.
2155 * PINE Schubert 32 PCI
2156   
2157 reverb
2158     Reverb Enable - 1 = enable, 0 = disable (default);
2159     SoundCard must have onboard SRAM for this.
2160 mge
2161     Mic Gain Enable - 1 = enable, 0 = disable (default)
2162 
2163 This module supports multiple cards and autoprobe.
2164 
2165 Module snd-serial-u16550
2166 ------------------------
2167 
2168 Module for UART16550A serial MIDI ports.
2169 
2170 port
2171     port # for UART16550A chip
2172 irq
2173     IRQ # for UART16550A chip, -1 = poll mode
2174 speed
2175     speed in bauds (9600,19200,38400,57600,115200)
2176     38400 = default
2177 base
2178     base for divisor in bauds (57600,115200,230400,460800)
2179     115200 = default
2180 outs
2181     number of MIDI ports in a serial port (1-4)
2182     1 = default
2183 adaptor
2184     Type of adaptor.
2185         0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
2186         3 = MS-124W M/B, 4 = Generic
2187 
2188 This module supports multiple cards. This module does not support autoprobe
2189 thus the main port must be specified!!! Other options are optional.
2190 
2191 Module snd-trident
2192 ------------------
2193 
2194 Module for Trident 4DWave DX/NX sound cards.
2195 * Best Union  Miss Melody 4DWave PCI
2196 * HIS  4DWave PCI
2197 * Warpspeed  ONSpeed 4DWave PCI
2198 * AzTech  PCI 64-Q3D
2199 * Addonics  SV 750
2200 * CHIC  True Sound 4Dwave
2201 * Shark  Predator4D-PCI
2202 * Jaton  SonicWave 4D
2203 * SiS SI7018 PCI Audio
2204 * Hoontech SoundTrack Digital 4DWave NX
2205                     
2206 pcm_channels
2207     max channels (voices) reserved for PCM
2208 wavetable_size
2209     max wavetable size in kB (4-?kb)
2210 
2211 This module supports multiple cards and autoprobe.
2212 
2213 The power-management is supported.
2214 
2215 Module snd-ua101
2216 ----------------
2217 
2218 Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
2219 
2220 This module supports multiple devices, autoprobe and hotplugging.
2221 
2222 Module snd-usb-audio
2223 --------------------
2224 
2225 Module for USB audio and USB MIDI devices.
2226 
2227 vid
2228     Vendor ID for the device (optional)
2229 pid
2230     Product ID for the device (optional)
2231 nrpacks
2232     Max. number of packets per URB (default: 8)
2233 device_setup
2234     Device specific magic number (optional);
2235     Influence depends on the device
2236     Default: 0x0000 
2237 ignore_ctl_error
2238     Ignore any USB-controller regarding mixer interface (default: no)
2239 autoclock
2240     Enable auto-clock selection for UAC2 devices (default: yes)
2241 quirk_alias
2242     Quirk alias list, pass strings like ``0123abcd:5678beef``, which
2243     applies the existing quirk for the device 5678:beef to a new
2244     device 0123:abcd.
2245 implicit_fb
2246     Apply the generic implicit feedback sync mode.  When this is set
2247     and the playback stream sync mode is ASYNC, the driver tries to
2248     tie an adjacent ASYNC capture stream as the implicit feedback
2249     source.  This is equivalent with quirk_flags bit 17.
2250 use_vmalloc
2251     Use vmalloc() for allocations of the PCM buffers (default: yes).
2252     For architectures with non-coherent memory like ARM or MIPS, the
2253     mmap access may give inconsistent results with vmalloc'ed
2254     buffers.  If mmap is used on such architectures, turn off this
2255     option, so that the DMA-coherent buffers are allocated and used
2256     instead.
2257 delayed_register
2258     The option is needed for devices that have multiple streams
2259     defined in multiple USB interfaces.  The driver may invoke
2260     registrations multiple times (once per interface) and this may
2261     lead to the insufficient device enumeration.
2262     This option receives an array of strings, and you can pass
2263     ID:INTERFACE like ``0123abcd:4`` for performing the delayed
2264     registration to the given device.  In this example, when a USB
2265     device 0123:abcd is probed, the driver waits the registration
2266     until the USB interface 4 gets probed.
2267     The driver prints a message like "Found post-registration device
2268     assignment: 1234abcd:04" for such a device, so that user can
2269     notice the need.
2270 quirk_flags
2271     Contains the bit flags for various device specific workarounds.
2272     Applied to the corresponding card index.
2273 
2274         * bit 0: Skip reading sample rate for devices
2275         * bit 1: Create Media Controller API entries
2276         * bit 2: Allow alignment on audio sub-slot at transfer
2277         * bit 3: Add length specifier to transfers
2278         * bit 4: Start playback stream at first in implement feedback mode
2279         * bit 5: Skip clock selector setup
2280         * bit 6: Ignore errors from clock source search
2281         * bit 7: Indicates ITF-USB DSD based DACs
2282         * bit 8: Add a delay of 20ms at each control message handling
2283         * bit 9: Add a delay of 1-2ms at each control message handling
2284         * bit 10: Add a delay of 5-6ms at each control message handling
2285         * bit 11: Add a delay of 50ms at each interface setup
2286         * bit 12: Perform sample rate validations at probe
2287         * bit 13: Disable runtime PM autosuspend
2288         * bit 14: Ignore errors for mixer access
2289         * bit 15: Support generic DSD raw U32_BE format
2290         * bit 16: Set up the interface at first like UAC1
2291         * bit 17: Apply the generic implicit feedback sync mode
2292         * bit 18: Don't apply implicit feedback sync mode
2293 
2294 This module supports multiple devices, autoprobe and hotplugging.
2295 
2296 NB: ``nrpacks`` parameter can be modified dynamically via sysfs.
2297 Don't put the value over 20.  Changing via sysfs has no sanity
2298 check.
2299 
2300 NB: ``ignore_ctl_error=1`` may help when you get an error at accessing
2301 the mixer element such as URB error -22.  This happens on some
2302 buggy USB device or the controller.  This workaround corresponds to
2303 the ``quirk_flags`` bit 14, too.
2304 
2305 NB: ``quirk_alias`` option is provided only for testing / development.
2306 If you want to have a proper support, contact to upstream for
2307 adding the matching quirk in the driver code statically.
2308 Ditto for ``quirk_flags``.  If a device is known to require specific
2309 workarounds, please report to the upstream.
2310 
2311 Module snd-usb-caiaq
2312 --------------------
2313 
2314 Module for caiaq UB audio interfaces,
2315 
2316 * Native Instruments RigKontrol2
2317 * Native Instruments Kore Controller
2318 * Native Instruments Audio Kontrol 1
2319 * Native Instruments Audio 8 DJ
2320         
2321 This module supports multiple devices, autoprobe and hotplugging.
2322   
2323 Module snd-usb-usx2y
2324 --------------------
2325 
2326 Module for Tascam USB US-122, US-224 and US-428 devices.
2327 
2328 This module supports multiple devices, autoprobe and hotplugging.
2329 
2330 Note: you need to load the firmware via ``usx2yloader`` utility included
2331 in alsa-tools and alsa-firmware packages.
2332 
2333 Module snd-via82xx
2334 ------------------
2335 
2336 Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,
2337 8233C, 8235, 8237 (south) bridge.
2338 
2339 mpu_port
2340     0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
2341     [VIA686A/686B only]
2342 joystick
2343     Enable joystick (default off) [VIA686A/686B only]
2344 ac97_clock
2345     AC'97 codec clock base (default 48000Hz)
2346 dxs_support
2347     support DXS channels, 0 = auto (default), 1 = enable, 2 = disable,
2348     3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different
2349     sample rates on different channels [VIA8233/C, 8235, 8237 only]
2350 ac97_quirk
2351     AC'97 workaround for strange hardware;
2352     See `AC97 Quirk Option`_ section below.
2353 
2354 This module supports one chip and autoprobe.
2355 
2356 Note: on some SMP motherboards like MSI 694D the interrupts might
2357 not be generated properly.  In such a case, please try to
2358 set the SMP (or MPS) version on BIOS to 1.1 instead of
2359 default value 1.4.  Then the interrupt number will be
2360 assigned under 15. You might also upgrade your BIOS.
2361 
2362 Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
2363 channels as the first PCM.  On these channels, up to 4
2364 streams can be played at the same time, and the controller
2365 can perform sample rate conversion with separate rates for
2366 each channel.
2367 As default (``dxs_support = 0``), 48k fixed rate is chosen
2368 except for the known devices since the output is often
2369 noisy except for 48k on some mother boards due to the
2370 bug of BIOS.
2371 Please try once ``dxs_support=5`` and if it works on other
2372 sample rates (e.g. 44.1kHz of mp3 playback), please let us
2373 know the PCI subsystem vendor/device id's (output of
2374 ``lspci -nv``).
2375 If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it
2376 doesn't work too, try dxs_support=1.  (dxs_support=1 is
2377 usually for old motherboards.  The correct implemented
2378 board should work with 4 or 5.)  If it still doesn't
2379 work and the default setting is ok, ``dxs_support=3`` is the
2380 right choice.  If the default setting doesn't work at all,
2381 try ``dxs_support=2`` to disable the DXS channels.
2382 In any cases, please let us know the result and the
2383 subsystem vendor/device ids.  See `Links and Addresses`_
2384 below.
2385 
2386 Note: for the MPU401 on VIA823x, use snd-mpu401 driver
2387 additionally.  The mpu_port option is for VIA686 chips only.
2388 
2389 The power-management is supported.
2390 
2391 Module snd-via82xx-modem
2392 ------------------------
2393 
2394 Module for VIA82xx AC97 modem
2395 
2396 ac97_clock
2397     AC'97 codec clock base (default 48000Hz)
2398 
2399 This module supports one card and autoprobe.
2400 
2401 Note: The default index value of this module is -2, i.e. the first
2402 slot is excluded.
2403 
2404 The power-management is supported.
2405 
2406 Module snd-virmidi
2407 ------------------
2408 
2409 Module for virtual rawmidi devices.
2410 This module creates virtual rawmidi devices which communicate
2411 to the corresponding ALSA sequencer ports.
2412 
2413 midi_devs
2414     MIDI devices # (1-4, default=4)
2415 
2416 This module supports multiple cards.
2417 
2418 Module snd-virtuoso
2419 -------------------
2420 
2421 Module for sound cards based on the Asus AV66/AV100/AV200 chips,
2422 i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),
2423 Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.
2424 
2425 This module supports autoprobe and multiple cards.
2426 
2427 Module snd-vx222
2428 ----------------
2429 
2430 Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
2431 
2432 mic
2433     Enable Microphone on V222 Mic (NYI)
2434 ibl
2435     Capture IBL size. (default = 0, minimum size)
2436 
2437 This module supports multiple cards.
2438 
2439 When the driver is compiled as a module and the hotplug firmware
2440 is supported, the firmware data is loaded via hotplug automatically.
2441 Install the necessary firmware files in alsa-firmware package.
2442 When no hotplug fw loader is available, you need to load the
2443 firmware via vxloader utility in alsa-tools package.  To invoke
2444 vxloader automatically, add the following to /etc/modprobe.d/alsa.conf
2445 
2446 ::
2447 
2448   install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\
2449     && /usr/bin/vxloader
2450 
2451 (for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to
2452 /etc/modules.conf, instead.)
2453 IBL size defines the interrupts period for PCM.  The smaller size
2454 gives smaller latency but leads to more CPU consumption, too.
2455 The size is usually aligned to 126.  As default (=0), the smallest
2456 size is chosen.  The possible IBL values can be found in
2457 /proc/asound/cardX/vx-status proc file.
2458 
2459 The power-management is supported.
2460 
2461 Module snd-vxpocket
2462 -------------------
2463 
2464 Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
2465 
2466 ibl
2467     Capture IBL size. (default = 0, minimum size)
2468 
2469 This module supports multiple cards.  The module is compiled only when
2470 PCMCIA is supported on kernel.
2471 
2472 With the older 2.6.x kernel, to activate the driver via the card
2473 manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
2474 sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
2475 longer require a config file.
2476 
2477 When the driver is compiled as a module and the hotplug firmware
2478 is supported, the firmware data is loaded via hotplug automatically.
2479 Install the necessary firmware files in alsa-firmware package.
2480 When no hotplug fw loader is available, you need to load the
2481 firmware via vxloader utility in alsa-tools package.
2482 
2483 About capture IBL, see the description of snd-vx222 module.
2484 
2485 Note: snd-vxp440 driver is merged to snd-vxpocket driver since
2486 ALSA 1.0.10.
2487 
2488 The power-management is supported.
2489 
2490 Module snd-ymfpci
2491 -----------------
2492 
2493 Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2494 
2495 mpu_port
2496     0x300,0x330,0x332,0x334, 0 (disable) by default,
2497     1 (auto-detect for YMF744/754 only)
2498 fm_port
2499     0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2500     1 (auto-detect for YMF744/754 only)
2501 joystick_port
2502     0x201,0x202,0x204,0x205, 0 (disable) by default,
2503     1 (auto-detect)
2504 rear_switch
2505     enable shared rear/line-in switch (bool)
2506 
2507 This module supports autoprobe and multiple chips.
2508 
2509 The power-management is supported.
2510 
2511 Module snd-pdaudiocf
2512 --------------------
2513 
2514 Module for Sound Core PDAudioCF sound card.
2515 
2516 The power-management is supported.
2517 
2518 
2519 AC97 Quirk Option
2520 =================
2521 
2522 The ac97_quirk option is used to enable/override the workaround for
2523 specific devices on drivers for on-board AC'97 controllers like
2524 snd-intel8x0.  Some hardware have swapped output pins between Master
2525 and Headphone, or Surround (thanks to confusion of AC'97
2526 specifications from version to version :-)
2527 
2528 The driver provides the auto-detection of known problematic devices,
2529 but some might be unknown or wrongly detected.  In such a case, pass
2530 the proper value with this option.
2531 
2532 The following strings are accepted:
2533 
2534 default
2535     Don't override the default setting
2536 none
2537     Disable the quirk
2538 hp_only
2539     Bind Master and Headphone controls as a single control
2540 swap_hp
2541     Swap headphone and master controls
2542 swap_surround
2543     Swap master and surround controls
2544 ad_sharing
2545     For AD1985, turn on OMS bit and use headphone
2546 alc_jack
2547     For ALC65x, turn on the jack sense mode
2548 inv_eapd
2549     Inverted EAPD implementation
2550 mute_led
2551     Bind EAPD bit for turning on/off mute LED
2552 
2553 For backward compatibility, the corresponding integer value -1, 0, ...
2554 are  accepted, too.
2555 
2556 For example, if ``Master`` volume control has no effect on your device
2557 but only ``Headphone`` does, pass ac97_quirk=hp_only module option.
2558 
2559 
2560 Configuring Non-ISAPNP Cards
2561 ============================
2562 
2563 When the kernel is configured with ISA-PnP support, the modules
2564 supporting the isapnp cards will have module options ``isapnp``.
2565 If this option is set, *only* the ISA-PnP devices will be probed.
2566 For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option
2567 together with the proper i/o and irq configuration.
2568 
2569 When the kernel is configured without ISA-PnP support, isapnp option
2570 will be not built in.
2571 
2572 
2573 Module Autoloading Support
2574 ==========================
2575 
2576 The ALSA drivers can be loaded automatically on demand by defining
2577 module aliases.  The string ``snd-card-%1`` is requested for ALSA native
2578 devices where ``%i`` is sound card number from zero to seven.
2579 
2580 To auto-load an ALSA driver for OSS services, define the string
2581 ``sound-slot-%i`` where ``%i`` means the slot number for OSS, which
2582 corresponds to the card index of ALSA.  Usually, define this
2583 as the same card module.
2584 
2585 An example configuration for a single emu10k1 card is like below:
2586 ::
2587 
2588     ----- /etc/modprobe.d/alsa.conf
2589     alias snd-card-0 snd-emu10k1
2590     alias sound-slot-0 snd-emu10k1
2591     ----- /etc/modprobe.d/alsa.conf
2592 
2593 The available number of auto-loaded sound cards depends on the module
2594 option ``cards_limit`` of snd module.  As default it's set to 1.
2595 To enable the auto-loading of multiple cards, specify the number of
2596 sound cards in that option.
2597 
2598 When multiple cards are available, it'd better to specify the index
2599 number for each card via module option, too, so that the order of
2600 cards is kept consistent.
2601 
2602 An example configuration for two sound cards is like below:
2603 ::
2604 
2605     ----- /etc/modprobe.d/alsa.conf
2606     # ALSA portion
2607     options snd cards_limit=2
2608     alias snd-card-0 snd-interwave
2609     alias snd-card-1 snd-ens1371
2610     options snd-interwave index=0
2611     options snd-ens1371 index=1
2612     # OSS/Free portion
2613     alias sound-slot-0 snd-interwave
2614     alias sound-slot-1 snd-ens1371
2615     ----- /etc/modprobe.d/alsa.conf
2616 
2617 In this example, the interwave card is always loaded as the first card
2618 (index 0) and ens1371 as the second (index 1).
2619 
2620 Alternative (and new) way to fixate the slot assignment is to use
2621 ``slots`` option of snd module.  In the case above, specify like the
2622 following: 
2623 ::
2624 
2625     options snd slots=snd-interwave,snd-ens1371
2626 
2627 Then, the first slot (#0) is reserved for snd-interwave driver, and
2628 the second (#1) for snd-ens1371.  You can omit index option in each
2629 driver if slots option is used (although you can still have them at
2630 the same time as long as they don't conflict).
2631 
2632 The slots option is especially useful for avoiding the possible
2633 hot-plugging and the resultant slot conflict.  For example, in the
2634 case above again, the first two slots are already reserved.  If any
2635 other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2636 snd-ens1371, it will be assigned to the third or later slot.
2637 
2638 When a module name is given with '!', the slot will be given for any
2639 modules but that name.  For example, ``slots=!snd-pcsp`` will reserve
2640 the first slot for any modules but snd-pcsp. 
2641 
2642 
2643 ALSA PCM devices to OSS devices mapping
2644 =======================================
2645 ::
2646 
2647     /dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
2648     /dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
2649     /dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
2650     /dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
2651     /dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
2652     /dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
2653     /dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
2654     /dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
2655     /dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
2656 
2657 The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means
2658 sound card number and second means device number.  The ALSA devices
2659 have either ``c`` or ``p`` suffix indicating the direction, capture and
2660 playback, respectively.
2661 
2662 Please note that the device mapping above may be varied via the module
2663 options of snd-pcm-oss module.
2664 
2665 
2666 Proc interfaces (/proc/asound)
2667 ==============================
2668 
2669 /proc/asound/card#/pcm#[cp]/oss
2670 -------------------------------
2671 erase
2672     erase all additional information about OSS applications
2673 
2674 <app_name> <fragments> <fragment_size> [<options>]
2675     <app_name>
2676         name of application with (higher priority) or without path
2677     <fragments>
2678          number of fragments or zero if auto
2679     <fragment_size>
2680          size of fragment in bytes or zero if auto
2681     <options>
2682         optional parameters
2683 
2684         disable
2685             the application tries to open a pcm device for
2686             this channel but does not want to use it.
2687             (Cause a bug or mmap needs)
2688             It's good for Quake etc...
2689         direct
2690             don't use plugins
2691         block
2692              force block mode (rvplayer)
2693         non-block
2694             force non-block mode
2695         whole-frag
2696             write only whole fragments (optimization affecting
2697             playback only)
2698         no-silence
2699             do not fill silence ahead to avoid clicks
2700         buggy-ptr
2701             Returns the whitespace blocks in GETOPTR ioctl
2702             instead of filled blocks
2703 
2704 Example:
2705 ::
2706 
2707     echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2708     echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2709     echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2710 
2711 
2712 Early Buffer Allocation
2713 =======================
2714 
2715 Some drivers (e.g. hdsp) require the large contiguous buffers, and
2716 sometimes it's too late to find such spaces when the driver module is
2717 actually loaded due to memory fragmentation.  You can pre-allocate the
2718 PCM buffers by loading snd-page-alloc module and write commands to its
2719 proc file in prior, for example, in the early boot stage like
2720 ``/etc/init.d/*.local`` scripts.
2721 
2722 Reading the proc file /proc/drivers/snd-page-alloc shows the current
2723 usage of page allocation.  In writing, you can send the following
2724 commands to the snd-page-alloc driver:
2725 
2726 * add VENDOR DEVICE MASK SIZE BUFFERS
2727 
2728 VENDOR and DEVICE are PCI vendor and device IDs.  They take
2729 integer numbers (0x prefix is needed for the hex).
2730 MASK is the PCI DMA mask.  Pass 0 if not restricted.
2731 SIZE is the size of each buffer to allocate.  You can pass
2732 k and m suffix for KB and MB.  The max number is 16MB.
2733 BUFFERS is the number of buffers to allocate.  It must be greater
2734 than 0.  The max number is 4.
2735 
2736 * erase
2737 
2738 This will erase the all pre-allocated buffers which are not in
2739 use.
2740 
2741 
2742 Links and Addresses
2743 ===================
2744 
2745 ALSA project homepage
2746     http://www.alsa-project.org
2747 Kernel Bugzilla
2748     http://bugzilla.kernel.org/
2749 ALSA Developers ML
2750     mailto:alsa-devel@alsa-project.org
2751 alsa-info.sh script
2752     https://www.alsa-project.org/alsa-info.sh