cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

alsa-configuration.rst (79720B)


      1==============================================================
      2Advanced Linux Sound Architecture - Driver Configuration guide
      3==============================================================
      4
      5
      6Kernel Configuration
      7====================
      8
      9To enable ALSA support you need at least to build the kernel with
     10primary sound card support (``CONFIG_SOUND``).  Since ALSA can emulate
     11OSS, you don't have to choose any of the OSS modules.
     12
     13Enable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer
     14and PCM supports if you want to run OSS applications with ALSA.
     15
     16If you want to support the WaveTable functionality on cards such as
     17SB Live! then you need to enable "Sequencer support"
     18(``CONFIG_SND_SEQUENCER``).
     19
     20To make ALSA debug messages more verbose, enable the "Verbose printk"
     21and "Debug" options.  To check for memory leaks, turn on "Debug memory"
     22too.  "Debug detection" will add checks for the detection of cards.
     23
     24Please note that all the ALSA ISA drivers support the Linux isapnp API
     25(if the card supports ISA PnP).  You don't need to configure the cards
     26using isapnptools.
     27
     28
     29Module parameters
     30=================
     31
     32The user can load modules with options. If the module supports more than
     33one card and you have more than one card of the same type then you can
     34specify multiple values for the option separated by commas.
     35
     36
     37Module snd
     38----------
     39
     40The core ALSA module.  It is used by all ALSA card drivers.
     41It takes the following options which have global effects.
     42
     43major
     44    major number for sound driver;
     45    Default: 116
     46cards_limit
     47    limiting card index for auto-loading (1-8);
     48    Default: 1;
     49    For auto-loading more than one card, specify this option
     50    together with snd-card-X aliases.
     51slots
     52    Reserve the slot index for the given driver;
     53    This option takes multiple strings.
     54    See `Module Autoloading Support`_ section for details.
     55debug
     56    Specifies the debug message level;
     57    (0 = disable debug prints, 1 = normal debug messages,
     58    2 = verbose debug messages);
     59    This option appears only when ``CONFIG_SND_DEBUG=y``.
     60    This option can be dynamically changed via sysfs
     61    /sys/modules/snd/parameters/debug file.
     62  
     63Module snd-pcm-oss
     64------------------
     65
     66The PCM OSS emulation module.
     67This module takes options which change the mapping of devices.
     68
     69dsp_map
     70    PCM device number maps assigned to the 1st OSS device;
     71    Default: 0
     72adsp_map
     73    PCM device number maps assigned to the 2st OSS device;
     74    Default: 1
     75nonblock_open
     76    Don't block opening busy PCM devices;
     77    Default: 1
     78
     79For example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of
     80the card #0.  Similarly, when ``adsp_map=0``, /dev/adsp will be mapped
     81to PCM #0 of the card #0.
     82For changing the second or later card, specify the option with
     83commas, such like ``dsp_map=0,1``.
     84
     85``nonblock_open`` option is used to change the behavior of the PCM
     86regarding opening the device.  When this option is non-zero,
     87opening a busy OSS PCM device won't be blocked but return
     88immediately with EAGAIN (just like O_NONBLOCK flag).
     89    
     90Module snd-rawmidi
     91------------------
     92
     93This module takes options which change the mapping of devices.
     94similar to those of the snd-pcm-oss module.
     95
     96midi_map
     97    MIDI device number maps assigned to the 1st OSS device;
     98    Default: 0
     99amidi_map
    100    MIDI device number maps assigned to the 2st OSS device;
    101    Default: 1
    102
    103Module snd-soc-core
    104-------------------
    105
    106The soc core module. It is used by all ALSA card drivers.
    107It takes the following options which have global effects.
    108
    109prealloc_buffer_size_kbytes
    110    Specify prealloc buffer size in kbytes (default: 512).
    111
    112Common parameters for top sound card modules
    113--------------------------------------------
    114
    115Each of top level sound card module takes the following options.
    116
    117index
    118    index (slot #) of sound card;
    119    Values: 0 through 31 or negative;
    120    If nonnegative, assign that index number;
    121    if negative, interpret as a bitmask of permissible indices;
    122    the first free permitted index is assigned;
    123    Default: -1
    124id
    125    card ID (identifier or name);
    126    Can be up to 15 characters long;
    127    Default: the card type;
    128    A directory by this name is created under /proc/asound/
    129    containing information about the card;
    130    This ID can be used instead of the index number in
    131    identifying the card
    132enable
    133    enable card;
    134    Default: enabled, for PCI and ISA PnP cards
    135
    136Module snd-adlib
    137----------------
    138
    139Module for AdLib FM cards.
    140
    141port
    142    port # for OPL chip
    143
    144This module supports multiple cards. It does not support autoprobe, so
    145the port must be specified. For actual AdLib FM cards it will be 0x388.
    146Note that this card does not have PCM support and no mixer; only FM
    147synthesis.
    148
    149Make sure you have ``sbiload`` from the alsa-tools package available and,
    150after loading the module, find out the assigned ALSA sequencer port
    151number through ``sbiload -l``.
    152
    153Example output:
    154::
    155
    156      Port     Client name                       Port name
    157      64:0     OPL2 FM synth                     OPL2 FM Port
    158
    159Load the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``:
    160::
    161
    162      sbiload -p 64:0 std.sb drums.sb
    163
    164If you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3``
    165instead. To have the card produce sound, use ``aplaymidi`` from alsa-utils:
    166::
    167
    168      aplaymidi -p 64:0 foo.mid
    169
    170Module snd-ad1816a
    171------------------
    172
    173Module for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
    174
    175clockfreq
    176    Clock frequency for AD1816A chip (default = 0, 33000Hz)
    177    
    178This module supports multiple cards, autoprobe and PnP.
    179    
    180Module snd-ad1848
    181-----------------
    182
    183Module for sound cards based on AD1848/AD1847/CS4248 ISA chips.
    184
    185port
    186    port # for AD1848 chip
    187irq
    188    IRQ # for AD1848  chip
    189dma1
    190    DMA # for AD1848 chip (0,1,3)
    191    
    192This module supports multiple cards.  It does not support autoprobe
    193thus main port must be specified!!! Other ports are optional.
    194    
    195The power-management is supported.
    196
    197Module snd-ad1889
    198-----------------
    199
    200Module for Analog Devices AD1889 chips.
    201
    202ac97_quirk
    203    AC'97 workaround for strange hardware;
    204    See the description of intel8x0 module for details.
    205
    206This module supports multiple cards.
    207
    208Module snd-ali5451
    209------------------
    210
    211Module for ALi M5451 PCI chip.
    212
    213pcm_channels
    214    Number of hardware channels assigned for PCM
    215spdif
    216    Support SPDIF I/O;
    217    Default: disabled
    218
    219This module supports one chip and autoprobe.
    220
    221The power-management is supported.
    222
    223Module snd-als100
    224-----------------
    225
    226Module for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
    227
    228This module supports multiple cards, autoprobe and PnP.
    229
    230The power-management is supported.
    231
    232Module snd-als300
    233-----------------
    234
    235Module for Avance Logic ALS300 and ALS300+
    236
    237This module supports multiple cards.
    238
    239The power-management is supported.
    240
    241Module snd-als4000
    242------------------
    243
    244Module for sound cards based on Avance Logic ALS4000 PCI chip.
    245
    246joystick_port
    247    port # for legacy joystick support;
    248    0 = disabled (default), 1 = auto-detect
    249    
    250This module supports multiple cards, autoprobe and PnP.
    251
    252The power-management is supported.
    253
    254Module snd-asihpi
    255-----------------
    256
    257Module for AudioScience ASI soundcards
    258
    259enable_hpi_hwdep
    260    enable HPI hwdep for AudioScience soundcard
    261
    262This module supports multiple cards.
    263The driver requires the firmware loader support on kernel.
    264
    265Module snd-atiixp
    266-----------------
    267
    268Module for ATI IXP 150/200/250/400 AC97 controllers.
    269
    270ac97_clock
    271    AC'97 clock (default = 48000)
    272ac97_quirk
    273    AC'97 workaround for strange hardware;
    274    See `AC97 Quirk Option`_ section below.
    275ac97_codec
    276    Workaround to specify which AC'97 codec instead of probing.
    277    If this works for you file a bug with your `lspci -vn` output.
    278    (-2 = Force probing, -1 = Default behavior, 0-2 = Use the
    279    specified codec.)
    280spdif_aclink
    281    S/PDIF transfer over AC-link (default = 1)
    282
    283This module supports one card and autoprobe.
    284
    285ATI IXP has two different methods to control SPDIF output.  One is
    286over AC-link and another is over the "direct" SPDIF output.  The
    287implementation depends on the motherboard, and you'll need to
    288choose the correct one via spdif_aclink module option.
    289
    290The power-management is supported.
    291
    292Module snd-atiixp-modem
    293-----------------------
    294
    295Module for ATI IXP 150/200/250 AC97 modem controllers.
    296
    297This module supports one card and autoprobe.
    298
    299Note: The default index value of this module is -2, i.e. the first
    300slot is excluded.
    301
    302The power-management is supported.
    303
    304Module snd-au8810, snd-au8820, snd-au8830
    305-----------------------------------------
    306
    307Module for Aureal Vortex, Vortex2 and Advantage device.
    308
    309pcifix
    310    Control PCI workarounds;
    311    0 = Disable all workarounds,
    312    1 = Force the PCI latency of the Aureal card to 0xff,
    313    2 = Force the Extend PCI#2 Internal Master for Efficient
    314    Handling of Dummy Requests on the VIA KT133 AGP Bridge,
    315    3 = Force both settings,
    316    255 = Autodetect what is required (default)
    317
    318This module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
    319EQ, mpu401, gameport. A3D and wavetable support are still in development.
    320Development and reverse engineering work is being coordinated at
    321https://savannah.nongnu.org/projects/openvortex/
    322SPDIF output has a copy of the AC97 codec output, unless you use the
    323``spdif`` pcm device, which allows raw data passthru.
    324The hardware EQ hardware and SPDIF is only present in the Vortex2 and 
    325Advantage.
    326
    327Note: Some ALSA mixer applications don't handle the SPDIF sample rate 
    328control correctly. If you have problems regarding this, try
    329another ALSA compliant mixer (alsamixer works).
    330
    331Module snd-azt1605
    332------------------
    333
    334Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605
    335chipset.
    336
    337port
    338    port # for BASE (0x220,0x240,0x260,0x280)
    339wss_port
    340    port # for WSS (0x530,0x604,0xe80,0xf40)
    341irq
    342    IRQ # for WSS (7,9,10,11)
    343dma1
    344    DMA # for WSS playback (0,1,3)
    345dma2
    346    DMA # for WSS capture (0,1), -1 = disabled (default)
    347mpu_port
    348    port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
    349mpu_irq
    350    IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)
    351fm_port
    352    port # for OPL3 (0x388), -1 = disabled (default)
    353
    354This module supports multiple cards. It does not support autoprobe:
    355``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
    356The other values are optional.
    357
    358``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
    359or the value stored in the card's EEPROM for cards that have an EEPROM and
    360their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
    361be chosen freely from the options enumerated above.
    362
    363If ``dma2`` is specified and different from ``dma1``, the card will operate in
    364full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
    365enable capture since only channels 0 and 1 are available for capture.
    366
    367Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
    368mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
    369
    370Whatever IRQ and DMA channels you pick, be sure to reserve them for
    371legacy ISA in your BIOS.
    372
    373Module snd-azt2316
    374------------------
    375
    376Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316
    377chipset.
    378
    379port
    380    port # for BASE (0x220,0x240,0x260,0x280)
    381wss_port
    382    port # for WSS (0x530,0x604,0xe80,0xf40)
    383irq
    384    IRQ # for WSS (7,9,10,11)
    385dma1
    386    DMA # for WSS playback (0,1,3)
    387dma2
    388    DMA # for WSS capture (0,1), -1 = disabled (default)
    389mpu_port
    390    port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
    391mpu_irq
    392    IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)
    393fm_port
    394    port # for OPL3 (0x388), -1 = disabled (default)
    395
    396This module supports multiple cards. It does not support autoprobe:
    397``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
    398The other values are optional.
    399
    400``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
    401or the value stored in the card's EEPROM for cards that have an EEPROM and
    402their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
    403be chosen freely from the options enumerated above.
    404
    405If ``dma2`` is specified and different from ``dma1``, the card will operate in
    406full-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
    407enable capture since only channels 0 and 1 are available for capture.
    408
    409Generic settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
    410mpu_port=0x330 mpu_irq=9 fm_port=0x388``.
    411
    412Whatever IRQ and DMA channels you pick, be sure to reserve them for
    413legacy ISA in your BIOS.
    414
    415Module snd-aw2
    416--------------
    417
    418Module for Audiowerk2 sound card
    419
    420This module supports multiple cards.
    421
    422Module snd-azt2320
    423------------------
    424
    425Module for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
    426
    427This module supports multiple cards, PnP and autoprobe.
    428
    429The power-management is supported.
    430
    431Module snd-azt3328
    432------------------
    433
    434Module for sound cards based on Aztech AZF3328 PCI chip.
    435
    436joystick
    437    Enable joystick (default off)
    438
    439This module supports multiple cards.
    440
    441Module snd-bt87x
    442----------------
    443
    444Module for video cards based on Bt87x chips.
    445
    446digital_rate
    447    Override the default digital rate (Hz)
    448load_all
    449    Load the driver even if the card model isn't known
    450
    451This module supports multiple cards.
    452
    453Note: The default index value of this module is -2, i.e. the first
    454slot is excluded.
    455
    456Module snd-ca0106
    457-----------------
    458
    459Module for Creative Audigy LS and SB Live 24bit
    460
    461This module supports multiple cards.
    462
    463
    464Module snd-cmi8330
    465------------------
    466
    467Module for sound cards based on C-Media CMI8330 ISA chips.
    468
    469isapnp
    470    ISA PnP detection - 0 = disable, 1 = enable (default)
    471
    472with ``isapnp=0``, the following options are available:
    473
    474wssport
    475    port # for CMI8330 chip (WSS)
    476wssirq
    477    IRQ # for CMI8330 chip (WSS)
    478wssdma
    479    first DMA # for CMI8330 chip (WSS)
    480sbport
    481    port # for CMI8330 chip (SB16)
    482sbirq
    483    IRQ # for CMI8330 chip (SB16)
    484sbdma8
    485    8bit DMA # for CMI8330 chip (SB16)
    486sbdma16
    487    16bit DMA # for CMI8330 chip (SB16)
    488fmport
    489    (optional) OPL3 I/O port
    490mpuport
    491    (optional) MPU401 I/O port
    492mpuirq
    493    (optional) MPU401 irq #
    494
    495This module supports multiple cards and autoprobe.
    496
    497The power-management is supported.
    498
    499Module snd-cmipci
    500-----------------
    501
    502Module for C-Media CMI8338/8738/8768/8770 PCI sound cards.
    503
    504mpu_port
    505    port address of MIDI interface (8338 only):
    506    0x300,0x310,0x320,0x330 = legacy port,
    507    1 = integrated PCI port (default on 8738),
    508    0 = disable
    509fm_port
    510    port address of OPL-3 FM synthesizer (8x38 only):
    511    0x388 = legacy port,
    512    1 = integrated PCI port (default on 8738),
    513    0 = disable
    514soft_ac3
    515    Software-conversion of raw SPDIF packets (model 033 only) (default = 1)
    516joystick_port
    517    Joystick port address (0 = disable, 1 = auto-detect)
    518
    519This module supports autoprobe and multiple cards.
    520
    521The power-management is supported.
    522
    523Module snd-cs4231
    524-----------------
    525
    526Module for sound cards based on CS4231 ISA chips.
    527
    528port
    529    port # for CS4231 chip
    530mpu_port
    531    port # for MPU-401 UART (optional), -1 = disable
    532irq
    533    IRQ # for CS4231 chip
    534mpu_irq
    535    IRQ # for MPU-401 UART
    536dma1
    537    first DMA # for CS4231 chip
    538dma2
    539    second DMA # for CS4231 chip
    540
    541This module supports multiple cards. This module does not support autoprobe
    542thus main port must be specified!!! Other ports are optional.
    543
    544The power-management is supported.
    545
    546Module snd-cs4236
    547-----------------
    548
    549Module for sound cards based on CS4232/CS4232A,
    550CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips.
    551
    552isapnp
    553    ISA PnP detection - 0 = disable, 1 = enable (default)
    554
    555with ``isapnp=0``, the following options are available:
    556
    557port
    558    port # for CS4236 chip (PnP setup - 0x534)
    559cport
    560    control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
    561mpu_port
    562    port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
    563fm_port
    564    FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
    565irq
    566    IRQ # for CS4236 chip (5,7,9,11,12,15)
    567mpu_irq
    568    IRQ # for MPU-401 UART (9,11,12,15)
    569dma1
    570    first DMA # for CS4236 chip (0,1,3)
    571dma2
    572    second DMA # for CS4236 chip (0,1,3), -1 = disable
    573
    574This module supports multiple cards. This module does not support autoprobe
    575(if ISA PnP is not used) thus main port and control port must be
    576specified!!! Other ports are optional.
    577
    578The power-management is supported.
    579
    580This module is aliased as snd-cs4232 since it provides the old
    581snd-cs4232 functionality, too.
    582
    583Module snd-cs4281
    584-----------------
    585
    586Module for Cirrus Logic CS4281 soundchip.
    587
    588dual_codec
    589    Secondary codec ID (0 = disable, default)
    590
    591This module supports multiple cards.
    592
    593The power-management is supported.
    594
    595Module snd-cs46xx
    596-----------------
    597
    598Module for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
    599CS4624/CS4630/CS4280 PCI chips.
    600
    601external_amp
    602    Force to enable external amplifier.
    603thinkpad
    604    Force to enable Thinkpad's CLKRUN control.
    605mmap_valid
    606    Support OSS mmap mode (default = 0).
    607
    608This module supports multiple cards and autoprobe.
    609Usually external amp and CLKRUN controls are detected automatically
    610from PCI sub vendor/device ids.  If they don't work, give the options
    611above explicitly.
    612
    613The power-management is supported.
    614
    615Module snd-cs5530
    616-----------------
    617
    618Module for Cyrix/NatSemi Geode 5530 chip. 
    619
    620Module snd-cs5535audio
    621----------------------
    622
    623Module for multifunction CS5535 companion PCI device
    624
    625The power-management is supported.
    626
    627Module snd-ctxfi
    628----------------
    629
    630Module for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
    631
    632* Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series
    633* Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series
    634* Creative Sound Blaster X-Fi Titanium Professional Audio
    635* Creative Sound Blaster X-Fi Titanium
    636* Creative Sound Blaster X-Fi Elite Pro
    637* Creative Sound Blaster X-Fi Platinum
    638* Creative Sound Blaster X-Fi Fatal1ty
    639* Creative Sound Blaster X-Fi XtremeGamer
    640* Creative Sound Blaster X-Fi XtremeMusic
    641	
    642reference_rate
    643    reference sample rate, 44100 or 48000 (default)
    644multiple
    645    multiple to ref. sample rate, 1 or 2 (default)
    646subsystem
    647    override the PCI SSID for probing;
    648    the value consists of SSVID << 16 | SSDID.
    649    The default is zero, which means no override.
    650
    651This module supports multiple cards.
    652
    653Module snd-darla20
    654------------------
    655
    656Module for Echoaudio Darla20
    657
    658This module supports multiple cards.
    659The driver requires the firmware loader support on kernel.
    660
    661Module snd-darla24
    662------------------
    663
    664Module for Echoaudio Darla24
    665
    666This module supports multiple cards.
    667The driver requires the firmware loader support on kernel.
    668
    669Module snd-dt019x
    670-----------------
    671
    672Module for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
    673only)
    674
    675This module supports multiple cards.  This module is enabled only with
    676ISA PnP support.
    677
    678The power-management is supported.
    679
    680Module snd-dummy
    681----------------
    682
    683Module for the dummy sound card. This "card" doesn't do any output
    684or input, but you may use this module for any application which
    685requires a sound card (like RealPlayer).
    686
    687pcm_devs
    688    Number of PCM devices assigned to each card (default = 1, up to 4)
    689pcm_substreams
    690    Number of PCM substreams assigned to each PCM (default = 8, up to 128)
    691hrtimer
    692    Use hrtimer (=1, default) or system timer (=0)
    693fake_buffer
    694    Fake buffer allocations (default = 1)
    695
    696When multiple PCM devices are created, snd-dummy gives different
    697behavior to each PCM device:
    698* 0 = interleaved with mmap support
    699* 1 = non-interleaved with mmap support
    700* 2 = interleaved without mmap 
    701* 3 = non-interleaved without mmap
    702
    703As default, snd-dummy drivers doesn't allocate the real buffers
    704but either ignores read/write or mmap a single dummy page to all
    705buffer pages, in order to save the resources.  If your apps need
    706the read/ written buffer data to be consistent, pass fake_buffer=0
    707option.
    708
    709The power-management is supported.
    710
    711Module snd-echo3g
    712-----------------
    713
    714Module for Echoaudio 3G cards (Gina3G/Layla3G)
    715
    716This module supports multiple cards.
    717The driver requires the firmware loader support on kernel.
    718
    719Module snd-emu10k1
    720------------------
    721
    722Module for EMU10K1/EMU10k2 based PCI sound cards.
    723
    724* Sound Blaster Live!
    725* Sound Blaster PCI 512
    726* Emu APS (partially supported)
    727* Sound Blaster Audigy
    728	
    729extin
    730    bitmap of available external inputs for FX8010 (see bellow)
    731extout
    732    bitmap of available external outputs for FX8010 (see bellow)
    733seq_ports
    734    allocated sequencer ports (4 by default)
    735max_synth_voices
    736    limit of voices used for wavetable (64 by default)
    737max_buffer_size
    738    specifies the maximum size of wavetable/pcm buffers given in MB
    739    unit.  Default value is 128.
    740enable_ir
    741    enable IR
    742
    743This module supports multiple cards and autoprobe.
    744
    745Input & Output configurations 			[extin/extout]
    746* Creative Card wo/Digital out			[0x0003/0x1f03]
    747* Creative Card w/Digital out			[0x0003/0x1f0f]
    748* Creative Card w/Digital CD in			[0x000f/0x1f0f]
    749* Creative Card wo/Digital out + LiveDrive	[0x3fc3/0x1fc3]
    750* Creative Card w/Digital out + LiveDrive	[0x3fc3/0x1fcf]
    751* Creative Card w/Digital CD in + LiveDrive	[0x3fcf/0x1fcf]
    752* Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
    753* Creative Card w/Digital out + Digital I/O 2	[0x0fc3/0x1f0f]
    754* Creative Card w/Digital CD in + Digital I/O 2	[0x0fcf/0x1f0f]
    755* Creative Card 5.1/w Digital out + LiveDrive	[0x3fc3/0x1fff]
    756* Creative Card 5.1 (c) 2003			[0x3fc3/0x7cff]
    757* Creative Card all ins and outs		[0x3fff/0x7fff]
    758  
    759The power-management is supported.
    760  
    761Module snd-emu10k1x
    762-------------------
    763
    764Module for Creative Emu10k1X (SB Live Dell OEM version)
    765
    766This module supports multiple cards.
    767
    768Module snd-ens1370
    769------------------
    770
    771Module for Ensoniq AudioPCI ES1370 PCI sound cards.
    772
    773* SoundBlaster PCI 64
    774* SoundBlaster PCI 128
    775    
    776joystick
    777    Enable joystick (default off)
    778  
    779This module supports multiple cards and autoprobe.
    780
    781The power-management is supported.
    782
    783Module snd-ens1371
    784------------------
    785
    786Module for Ensoniq AudioPCI ES1371 PCI sound cards.
    787
    788* SoundBlaster PCI 64
    789* SoundBlaster PCI 128
    790* SoundBlaster Vibra PCI
    791      
    792joystick_port
    793    port # for joystick (0x200,0x208,0x210,0x218), 0 = disable
    794    (default), 1 = auto-detect
    795  
    796This module supports multiple cards and autoprobe.
    797
    798The power-management is supported.
    799
    800Module snd-es1688
    801-----------------
    802
    803Module for ESS AudioDrive ES-1688 and ES-688 sound cards.
    804
    805isapnp
    806    ISA PnP detection - 0 = disable, 1 = enable (default)
    807mpu_port
    808    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
    809mpu_irq
    810    IRQ # for MPU-401 port (5,7,9,10)
    811fm_port
    812    port # for OPL3 (option; share the same port as default)
    813
    814with ``isapnp=0``, the following additional options are available:
    815
    816port
    817    port # for ES-1688 chip (0x220,0x240,0x260)
    818irq
    819    IRQ # for ES-1688 chip (5,7,9,10)
    820dma8
    821    DMA # for ES-1688 chip (0,1,3)
    822
    823This module supports multiple cards and autoprobe (without MPU-401 port)
    824and PnP with the ES968 chip.
    825
    826Module snd-es18xx
    827-----------------
    828
    829Module for ESS AudioDrive ES-18xx sound cards.
    830
    831isapnp
    832    ISA PnP detection - 0 = disable, 1 = enable (default)
    833
    834with ``isapnp=0``, the following options are available:
    835
    836port
    837    port # for ES-18xx chip (0x220,0x240,0x260)
    838mpu_port
    839    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
    840fm_port
    841    port # for FM (optional, not used)
    842irq
    843    IRQ # for ES-18xx chip (5,7,9,10)
    844dma1
    845    first DMA # for ES-18xx chip (0,1,3)
    846dma2
    847    first DMA # for ES-18xx chip (0,1,3)
    848
    849This module supports multiple cards, ISA PnP and autoprobe (without MPU-401
    850port if native ISA PnP routines are not used).
    851When ``dma2`` is equal with ``dma1``, the driver works as half-duplex.
    852
    853The power-management is supported.
    854
    855Module snd-es1938
    856-----------------
    857
    858Module for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
    859
    860This module supports multiple cards and autoprobe.
    861
    862The power-management is supported.
    863
    864Module snd-es1968
    865-----------------
    866
    867Module for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
    868
    869total_bufsize
    870    total buffer size in kB (1-4096kB)
    871pcm_substreams_p
    872    playback channels (1-8, default=2)
    873pcm_substreams_c
    874    capture channels (1-8, default=0)
    875clock
    876    clock (0 = auto-detection)
    877use_pm
    878    support the power-management (0 = off, 1 = on, 2 = auto (default))
    879enable_mpu
    880    enable MPU401 (0 = off, 1 = on, 2 = auto (default))
    881joystick
    882    enable joystick (default off)       
    883
    884This module supports multiple cards and autoprobe.
    885
    886The power-management is supported.
    887
    888Module snd-fm801
    889----------------
    890
    891Module for ForteMedia FM801 based PCI sound cards.
    892
    893tea575x_tuner
    894    Enable TEA575x tuner;
    895    1 = MediaForte 256-PCS,
    896    2 = MediaForte 256-PCPR,
    897    3 = MediaForte 64-PCR
    898    High 16-bits are video (radio) device number + 1;
    899    example: 0x10002 (MediaForte 256-PCPR, device 1)
    900	  
    901This module supports multiple cards and autoprobe.
    902
    903The power-management is supported.
    904
    905Module snd-gina20
    906-----------------
    907
    908Module for Echoaudio Gina20
    909
    910This module supports multiple cards.
    911The driver requires the firmware loader support on kernel.
    912
    913Module snd-gina24
    914-----------------
    915
    916Module for Echoaudio Gina24
    917
    918This module supports multiple cards.
    919The driver requires the firmware loader support on kernel.
    920
    921Module snd-gusclassic
    922---------------------
    923
    924Module for Gravis UltraSound Classic sound card.
    925
    926port
    927    port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
    928irq
    929    IRQ # for GF1 chip (3,5,9,11,12,15)
    930dma1
    931    DMA # for GF1 chip (1,3,5,6,7)
    932dma2
    933    DMA # for GF1 chip (1,3,5,6,7,-1=disable)
    934joystick_dac
    935    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
    936voices
    937    GF1 voices limit (14-32)
    938pcm_voices
    939    reserved PCM voices
    940
    941This module supports multiple cards and autoprobe.
    942
    943Module snd-gusextreme
    944---------------------
    945
    946Module for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
    947
    948port
    949    port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
    950gf1_port
    951    port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
    952mpu_port
    953    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
    954irq
    955    IRQ # for ES-1688 chip (5,7,9,10)
    956gf1_irq
    957    IRQ # for GF1 chip (3,5,9,11,12,15)
    958mpu_irq
    959    IRQ # for MPU-401 port (5,7,9,10)
    960dma8
    961    DMA # for ES-1688 chip (0,1,3)
    962dma1
    963    DMA # for GF1 chip (1,3,5,6,7)
    964joystick_dac
    965    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
    966voices
    967    GF1 voices limit (14-32)
    968pcm_voices
    969    reserved PCM voices
    970
    971This module supports multiple cards and autoprobe (without MPU-401 port).
    972
    973Module snd-gusmax
    974-----------------
    975
    976Module for Gravis UltraSound MAX sound card.
    977
    978port
    979    port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
    980irq
    981    IRQ # for GF1 chip (3,5,9,11,12,15)
    982dma1
    983    DMA # for GF1 chip (1,3,5,6,7)
    984dma2
    985    DMA # for GF1 chip (1,3,5,6,7,-1=disable)
    986joystick_dac
    987    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
    988voices
    989    GF1 voices limit (14-32)
    990pcm_voices
    991    reserved PCM voices
    992
    993This module supports multiple cards and autoprobe.
    994
    995Module snd-hda-intel
    996--------------------
    997
    998Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
    999PCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
   1000RV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461
   1001
   1002[Multiple options for each card instance]
   1003
   1004model
   1005    force the model name
   1006position_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
   1016probe_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
   1021probe_only
   1022    Only probing and no codec initialization (default=off);
   1023    Useful to check the initial codec status for debugging
   1024bdl_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.
   1028patch
   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.
   1033beep_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
   1039single_cmd
   1040    Use single immediate commands to communicate with codecs
   1041    (for debugging only)
   1042enable_msi
   1043    Enable Message Signaled Interrupt (MSI) (default = off)
   1044power_save
   1045    Automatic power-saving timeout (in second, 0 = disable)
   1046power_save_controller
   1047    Reset HD-audio controller in power-saving mode (default = on)
   1048align_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)
   1053snoop
   1054    Enable/disable snooping (default = on)
   1055
   1056This module supports multiple cards and autoprobe.
   1057
   1058See hd-audio/notes.rst for more details about HD-audio driver.
   1059
   1060Each codec may have a model table for different configurations.
   1061If your machine isn't listed there, the default (usually minimal)
   1062configuration is set up.  You can pass ``model=<name>`` option to
   1063specify a certain model in such a case.  There are different
   1064models depending on the codec chip.  The list of available models
   1065is found in hd-audio/models.rst.
   1066
   1067The model name ``generic`` is treated as a special case.  When this
   1068model is given, the driver uses the generic codec parser without
   1069"codec-patch".  It's sometimes good for testing and debugging.
   1070
   1071The model option can be used also for aliasing to another PCI or codec
   1072SSID.  When it's passed in the form of ``model=XXXX:YYYY`` where XXXX
   1073and YYYY are the sub-vendor and sub-device IDs in hex numbers,
   1074respectively, the driver will refer to that SSID as a reference to the
   1075quirk table.
   1076
   1077If the default configuration doesn't work and one of the above
   1078matches with your device, report it together with alsa-info.sh
   1079output (with ``--no-upload`` option) to kernel bugzilla or alsa-devel
   1080ML (see the section `Links and Addresses`_).
   1081
   1082``power_save`` and ``power_save_controller`` options are for power-saving
   1083mode.  See powersave.rst for details.
   1084
   1085Note 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
   1087register value without FIFO size correction as the current
   1088DMA pointer.  ``position_fix=2`` will make the driver to use
   1089the position buffer instead of reading SD_LPIB register.
   1090(Usually SD_LPIB register is more accurate than the
   1091position buffer.)
   1092
   1093``position_fix=3`` is specific to VIA devices.  The position
   1094of the capture stream is checked from both LPIB and POSBUF
   1095values.  ``position_fix=4`` is a combination mode, using LPIB
   1096for playback and POSBUF for capture.
   1097
   1098NB: If you get many ``azx_get_response timeout`` messages at
   1099loading, it's likely a problem of interrupts (e.g. ACPI irq
   1100routing).  Try to boot with options like ``pci=noacpi``.  Also, you
   1101can try ``single_cmd=1`` module option.  This will switch the
   1102communication method between HDA controller and codecs to the
   1103single immediate commands instead of CORB/RIRB.  Basically, the
   1104single command mode is provided only for BIOS, and you won't get
   1105unsolicited events, too.  But, at least, this works independently
   1106from the irq.  Remember this is a last resort, and should be
   1107avoided as much as possible...
   1108
   1109MORE NOTES ON ``azx_get_response timeout`` PROBLEMS:
   1110On some hardware, you may need to add a proper probe_mask option
   1111to avoid the ``azx_get_response timeout`` problem above, instead.
   1112This 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
   1114bus.  You can see which codec slots are probed by enabling
   1115``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec
   1116proc files.  Then limit the slots to probe by probe_mask option.
   1117For example, ``probe_mask=1`` means to probe only the first slot, and
   1118``probe_mask=4`` means only the third slot.
   1119
   1120The power-management is supported.
   1121
   1122Module snd-hdsp
   1123---------------
   1124
   1125Module for RME Hammerfall DSP audio interface(s)
   1126
   1127This module supports multiple cards.
   1128
   1129Note: The firmware data can be automatically loaded via hotplug
   1130when ``CONFIG_FW_LOADER`` is set.  Otherwise, you need to load
   1131the firmware via hdsploader utility included in alsa-tools
   1132package.
   1133The firmware data is found in alsa-firmware package.
   1134
   1135Note: snd-page-alloc module does the job which snd-hammerfall-mem
   1136module did formerly.  It will allocate the buffers in advance
   1137when any HDSP cards are found.  To make the buffer
   1138allocation sure, load snd-page-alloc module in the early
   1139stage of boot sequence.  See `Early Buffer Allocation`_
   1140section.
   1141
   1142Module snd-hdspm
   1143----------------
   1144
   1145Module for RME HDSP MADI board.
   1146
   1147precise_ptr
   1148    Enable precise pointer, or disable.
   1149line_outs_monitor
   1150    Send playback streams to analog outs by default.
   1151enable_monitor
   1152    Enable Analog Out on Channel 63/64 by default.
   1153
   1154See hdspm.rst for details.
   1155
   1156Module snd-ice1712
   1157------------------
   1158
   1159Module 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			
   1181model
   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
   1187omni
   1188    Omni I/O support for MidiMan M-Audio Delta44/66
   1189cs8427_timeout
   1190    reset timeout for the CS8427 chip (S/PDIF transceiver) in msec
   1191    resolution, default value is 500 (0.5 sec)
   1192
   1193This module supports multiple cards and autoprobe.
   1194Note: The consumer part is not used with all Envy24 based cards (for
   1195example in the MidiMan Delta siree).
   1196
   1197Note: The supported board is detected by reading EEPROM or PCI
   1198SSID (if EEPROM isn't available).  You can override the
   1199model by passing ``model`` module option in case that the
   1200driver isn't configured properly or you want to try another
   1201type for testing.
   1202
   1203Module snd-ice1724
   1204------------------
   1205
   1206Module 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			
   1237model
   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  
   1245This module supports multiple cards and autoprobe.
   1246
   1247Note: The supported board is detected by reading EEPROM or PCI
   1248SSID (if EEPROM isn't available).  You can override the
   1249model by passing ``model`` module option in case that the
   1250driver isn't configured properly or you want to try another
   1251type for testing.
   1252
   1253Module snd-indigo
   1254-----------------
   1255
   1256Module for Echoaudio Indigo
   1257
   1258This module supports multiple cards.
   1259The driver requires the firmware loader support on kernel.
   1260
   1261Module snd-indigodj
   1262-------------------
   1263
   1264Module for Echoaudio Indigo DJ
   1265
   1266This module supports multiple cards.
   1267The driver requires the firmware loader support on kernel.
   1268
   1269Module snd-indigoio
   1270-------------------
   1271
   1272Module for Echoaudio Indigo IO
   1273
   1274This module supports multiple cards.
   1275The driver requires the firmware loader support on kernel.
   1276
   1277Module snd-intel8x0
   1278-------------------
   1279
   1280Module 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	  
   1289ac97_clock
   1290    AC'97 codec clock base (0 = auto-detect)
   1291ac97_quirk
   1292    AC'97 workaround for strange hardware;
   1293    See `AC97 Quirk Option`_ section below.
   1294buggy_irq
   1295    Enable workaround for buggy interrupts on some motherboards
   1296    (default yes on nForce chips, otherwise off)
   1297buggy_semaphore
   1298    Enable workaround for hardware with buggy semaphores (e.g. on some
   1299    ASUS laptops) (default off)
   1300spdif_aclink
   1301    Use S/PDIF over AC-link instead of direct connection from the
   1302    controller chip (0 = off, 1 = on, -1 = default)
   1303
   1304This module supports one chip and autoprobe.
   1305
   1306Note: the latest driver supports auto-detection of chip clock.
   1307if you still encounter too fast playback, specify the clock
   1308explicitly via the module option ``ac97_clock=41194``.
   1309
   1310Joystick/MIDI ports are not supported by this driver.  If your
   1311motherboard has these devices, use the ns558 or snd-mpu401
   1312modules, respectively.
   1313
   1314The power-management is supported.
   1315
   1316Module snd-intel8x0m
   1317--------------------
   1318
   1319Module 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	  
   1327ac97_clock
   1328    AC'97 codec clock base (0 = auto-detect)
   1329  
   1330This module supports one card and autoprobe.
   1331
   1332Note: The default index value of this module is -2, i.e. the first
   1333slot is excluded.
   1334
   1335The power-management is supported.
   1336
   1337Module snd-interwave
   1338--------------------
   1339
   1340Module for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
   1341and other sound cards based on AMD InterWave (tm) chip.
   1342
   1343joystick_dac
   1344    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
   1345midi
   1346    1 = MIDI UART enable, 0 = MIDI UART disable (default)
   1347pcm_voices
   1348    reserved PCM voices for the synthesizer (default 2)
   1349effect
   1350    1 = InterWave effects enable (default 0); requires 8 voices
   1351isapnp
   1352    ISA PnP detection - 0 = disable, 1 = enable (default)
   1353
   1354with ``isapnp=0``, the following options are available:
   1355
   1356port
   1357    port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
   1358irq
   1359    IRQ # for InterWave chip (3,5,9,11,12,15)
   1360dma1
   1361    DMA # for InterWave chip (0,1,3,5,6,7)
   1362dma2
   1363    DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
   1364
   1365This module supports multiple cards, autoprobe and ISA PnP.
   1366
   1367Module snd-interwave-stb
   1368------------------------
   1369
   1370Module for UltraSound 32-Pro (sound card from STB used by Compaq)
   1371and other sound cards based on AMD InterWave (tm) chip with TEA6330T
   1372circuit for extended control of bass, treble and master volume.
   1373
   1374joystick_dac
   1375    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
   1376midi
   1377    1 = MIDI UART enable, 0 = MIDI UART disable (default)
   1378pcm_voices
   1379    reserved PCM voices for the synthesizer (default 2)
   1380effect
   1381    1 = InterWave effects enable (default 0); requires 8 voices
   1382isapnp
   1383    ISA PnP detection - 0 = disable, 1 = enable (default)
   1384
   1385with ``isapnp=0``, the following options are available:
   1386
   1387port
   1388    port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
   1389port_tc
   1390    tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
   1391irq
   1392    IRQ # for InterWave chip (3,5,9,11,12,15)
   1393dma1
   1394    DMA # for InterWave chip (0,1,3,5,6,7)
   1395dma2
   1396    DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
   1397
   1398This module supports multiple cards, autoprobe and ISA PnP.
   1399
   1400Module snd-jazz16
   1401-------------------
   1402
   1403Module for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
   1404MVD1216 + MVA416 + MVA514.
   1405
   1406port
   1407    port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
   1408irq
   1409    IRQ # for SB DSP chip (3,5,7,9,10,15)
   1410dma8
   1411    DMA # for SB DSP chip (1,3)
   1412dma16
   1413    DMA # for SB DSP chip (5,7)
   1414mpu_port
   1415    MPU-401 port # (0x300,0x310,0x320,0x330)
   1416mpu_irq
   1417    MPU-401 irq # (2,3,5,7)
   1418
   1419This module supports multiple cards.
   1420
   1421Module snd-korg1212
   1422-------------------
   1423
   1424Module for Korg 1212 IO PCI card
   1425
   1426This module supports multiple cards.
   1427
   1428Module snd-layla20
   1429------------------
   1430
   1431Module for Echoaudio Layla20
   1432
   1433This module supports multiple cards.
   1434The driver requires the firmware loader support on kernel.
   1435
   1436Module snd-layla24
   1437------------------
   1438
   1439Module for Echoaudio Layla24
   1440
   1441This module supports multiple cards.
   1442The driver requires the firmware loader support on kernel.
   1443
   1444Module snd-lola
   1445---------------
   1446
   1447Module for Digigram Lola PCI-e boards
   1448
   1449This module supports multiple cards.
   1450
   1451Module snd-lx6464es
   1452-------------------
   1453
   1454Module for Digigram LX6464ES boards
   1455
   1456This module supports multiple cards.
   1457
   1458Module snd-maestro3
   1459-------------------
   1460
   1461Module for Allegro/Maestro3 chips
   1462
   1463external_amp
   1464    enable external amp (enabled by default)
   1465amp_gpio
   1466    GPIO pin number for external amp (0-15) or -1 for default pin (8
   1467    for allegro, 1 for others) 
   1468
   1469This module supports autoprobe and multiple chips.
   1470
   1471Note: the binding of amplifier is dependent on hardware.
   1472If there is no sound even though all channels are unmuted, try to
   1473specify other gpio connection via amp_gpio option. 
   1474For example, a Panasonic notebook might need ``amp_gpio=0x0d``
   1475option.
   1476
   1477The power-management is supported.
   1478
   1479Module snd-mia
   1480---------------
   1481
   1482Module for Echoaudio Mia
   1483
   1484This module supports multiple cards.
   1485The driver requires the firmware loader support on kernel.
   1486
   1487Module snd-miro
   1488---------------
   1489
   1490Module for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,
   1491miroSOUND PCM 20 Radio.
   1492
   1493port
   1494    Port # (0x530,0x604,0xe80,0xf40)
   1495irq
   1496    IRQ # (5,7,9,10,11)
   1497dma1
   1498    1st dma # (0,1,3)
   1499dma2
   1500    2nd dma # (0,1)
   1501mpu_port
   1502    MPU-401 port # (0x300,0x310,0x320,0x330)
   1503mpu_irq
   1504    MPU-401 irq # (5,7,9,10)
   1505fm_port
   1506    FM Port # (0x388)
   1507wss
   1508    enable WSS mode
   1509ide
   1510    enable onboard ide support
   1511
   1512Module snd-mixart
   1513-----------------
   1514
   1515Module for Digigram miXart8 sound cards.
   1516
   1517This module supports multiple cards.
   1518Note: One miXart8 board will be represented as 4 alsa cards.
   1519See Documentation/sound/cards/mixart.rst for details.
   1520
   1521When the driver is compiled as a module and the hotplug firmware
   1522is supported, the firmware data is loaded via hotplug automatically.
   1523Install the necessary firmware files in alsa-firmware package.
   1524When no hotplug fw loader is available, you need to load the
   1525firmware via mixartloader utility in alsa-tools package.
   1526
   1527Module snd-mona
   1528---------------
   1529
   1530Module for Echoaudio Mona
   1531
   1532This module supports multiple cards.
   1533The driver requires the firmware loader support on kernel.
   1534
   1535Module snd-mpu401
   1536-----------------
   1537
   1538Module for MPU-401 UART devices.
   1539
   1540port
   1541    port number or -1 (disable)
   1542irq
   1543    IRQ number or -1 (disable)
   1544pnp
   1545    PnP detection - 0 = disable, 1 = enable (default)
   1546
   1547This module supports multiple devices and PnP.
   1548
   1549Module snd-msnd-classic
   1550-----------------------
   1551
   1552Module for Turtle Beach MultiSound Classic, Tahiti or Monterey
   1553soundcards.
   1554
   1555io
   1556    Port # for msnd-classic card
   1557irq
   1558    IRQ # for msnd-classic card
   1559mem
   1560    Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
   1561write_ndelay
   1562    enable write ndelay (default = 1)
   1563calibrate_signal
   1564    calibrate signal (default = 0)
   1565isapnp
   1566    ISA PnP detection - 0 = disable, 1 = enable (default)
   1567digital
   1568    Digital daughterboard present (default = 0)
   1569cfg
   1570    Config port (0x250, 0x260 or 0x270) default = PnP
   1571reset
   1572    Reset all devices
   1573mpu_io
   1574    MPU401 I/O port
   1575mpu_irq
   1576    MPU401 irq#
   1577ide_io0
   1578    IDE port #0
   1579ide_io1
   1580    IDE port #1
   1581ide_irq
   1582    IDE irq#
   1583joystick_io
   1584    Joystick I/O port
   1585
   1586The driver requires firmware files ``turtlebeach/msndinit.bin`` and
   1587``turtlebeach/msndperm.bin`` in the proper firmware directory.
   1588
   1589See Documentation/sound/cards/multisound.sh for important information
   1590about this driver.  Note that it has been discontinued, but the 
   1591Voyetra Turtle Beach knowledge base entry for it is still available
   1592at
   1593https://www.turtlebeach.com
   1594
   1595Module snd-msnd-pinnacle
   1596------------------------
   1597
   1598Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
   1599
   1600io
   1601    Port # for pinnacle/fiji card
   1602irq
   1603    IRQ # for pinnalce/fiji card
   1604mem
   1605    Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
   1606write_ndelay
   1607    enable write ndelay (default = 1)
   1608calibrate_signal
   1609    calibrate signal (default = 0)
   1610isapnp
   1611    ISA PnP detection - 0 = disable, 1 = enable (default)
   1612
   1613The driver requires firmware files ``turtlebeach/pndspini.bin`` and
   1614``turtlebeach/pndsperm.bin`` in the proper firmware directory.
   1615
   1616Module snd-mtpav
   1617----------------
   1618
   1619Module for MOTU MidiTimePiece AV multiport MIDI (on the parallel
   1620port).
   1621
   1622port
   1623    I/O port # for MTPAV (0x378,0x278, default=0x378)
   1624irq
   1625    IRQ # for MTPAV (7,5, default=7)
   1626hwports
   1627    number of supported hardware ports, default=8.
   1628
   1629Module supports only 1 card.  This module has no enable option.
   1630
   1631Module snd-mts64
   1632----------------
   1633
   1634Module for Ego Systems (ESI) Miditerminal 4140
   1635
   1636This module supports multiple devices.
   1637Requires parport (``CONFIG_PARPORT``).
   1638
   1639Module snd-nm256
   1640----------------
   1641
   1642Module for NeoMagic NM256AV/ZX chips
   1643
   1644playback_bufsize
   1645    max playback frame size in kB (4-128kB)
   1646capture_bufsize
   1647    max capture frame size in kB (4-128kB)
   1648force_ac97
   1649    0 or 1 (disabled by default)
   1650buffer_top
   1651    specify buffer top address
   1652use_cache
   1653    0 or 1 (disabled by default)
   1654vaio_hack
   1655    alias buffer_top=0x25a800
   1656reset_workaround
   1657    enable AC97 RESET workaround for some laptops
   1658reset_workaround2
   1659    enable extended AC97 RESET workaround for some other laptops
   1660
   1661This module supports one chip and autoprobe.
   1662
   1663The power-management is supported.
   1664
   1665Note: on some notebooks the buffer address cannot be detected
   1666automatically, or causes hang-up during initialization.
   1667In such a case, specify the buffer top address explicitly via
   1668the buffer_top option.
   1669For example,
   1670Sony F250: buffer_top=0x25a800
   1671Sony F270: buffer_top=0x272800
   1672The driver supports only ac97 codec.  It's possible to force
   1673to initialize/use ac97 although it's not detected.  In such a
   1674case, use ``force_ac97=1`` option - but *NO* guarantee whether it
   1675works!
   1676
   1677Note: The NM256 chip can be linked internally with non-AC97
   1678codecs.  This driver supports only the AC97 codec, and won't work
   1679with machines with other (most likely CS423x or OPL3SAx) chips,
   1680even though the device is detected in lspci.  In such a case, try
   1681other drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
   1682but some doesn't have ISA PnP.  You'll need to specify ``isapnp=0``
   1683and proper hardware parameters in the case without ISA PnP.
   1684
   1685Note: some laptops need a workaround for AC97 RESET.  For the
   1686known hardware like Dell Latitude LS and Sony PCG-F305, this
   1687workaround is enabled automatically.  For other laptops with a
   1688hard freeze, you can try ``reset_workaround=1`` option.
   1689
   1690Note: Dell Latitude CSx laptops have another problem regarding
   1691AC97 RESET.  On these laptops, reset_workaround2 option is
   1692turned on as default.  This option is worth to try if the
   1693previous reset_workaround option doesn't help.
   1694
   1695Note: This driver is really crappy.  It's a porting from the
   1696OSS driver, which is a result of black-magic reverse engineering.
   1697The detection of codec will fail if the driver is loaded *after*
   1698X-server as described above.  You might be able to force to load
   1699the module, but it may result in hang-up.   Hence, make sure that
   1700you load this module *before* X if you encounter this kind of
   1701problem.
   1702
   1703Module snd-opl3sa2
   1704------------------
   1705
   1706Module for Yamaha OPL3-SA2/SA3 sound cards.
   1707
   1708isapnp
   1709    ISA PnP detection - 0 = disable, 1 = enable (default)
   1710
   1711with ``isapnp=0``, the following options are available:
   1712
   1713port
   1714    control port # for OPL3-SA chip (0x370)
   1715sb_port
   1716    SB port # for OPL3-SA chip (0x220,0x240)
   1717wss_port
   1718    WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
   1719midi_port
   1720    port # for MPU-401 UART (0x300,0x330), -1 = disable
   1721fm_port
   1722    FM port # for OPL3-SA chip (0x388), -1 = disable
   1723irq
   1724    IRQ # for OPL3-SA chip (5,7,9,10)
   1725dma1
   1726    first DMA # for Yamaha OPL3-SA chip (0,1,3)
   1727dma2
   1728    second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
   1729
   1730This module supports multiple cards and ISA PnP.  It does not support
   1731autoprobe (if ISA PnP is not used) thus all ports must be specified!!!
   1732
   1733The power-management is supported.
   1734
   1735Module snd-opti92x-ad1848
   1736-------------------------
   1737
   1738Module for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
   1739Module works with OAK Mozart cards as well.
   1740
   1741isapnp
   1742    ISA PnP detection - 0 = disable, 1 = enable (default)
   1743
   1744with ``isapnp=0``, the following options are available:
   1745
   1746port
   1747    port # for WSS chip (0x530,0xe80,0xf40,0x604)
   1748mpu_port
   1749    port # for MPU-401 UART (0x300,0x310,0x320,0x330)
   1750fm_port
   1751    port # for OPL3 device (0x388)
   1752irq
   1753    IRQ # for WSS chip (5,7,9,10,11)
   1754mpu_irq
   1755    IRQ # for MPU-401 UART (5,7,9,10)
   1756dma1
   1757    first DMA # for WSS chip (0,1,3)
   1758
   1759This module supports only one card, autoprobe and PnP.
   1760
   1761Module snd-opti92x-cs4231
   1762-------------------------
   1763
   1764Module for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
   1765
   1766isapnp
   1767    ISA PnP detection - 0 = disable, 1 = enable (default)
   1768
   1769with ``isapnp=0``, the following options are available:
   1770
   1771port
   1772    port # for WSS chip (0x530,0xe80,0xf40,0x604)
   1773mpu_port
   1774    port # for MPU-401 UART (0x300,0x310,0x320,0x330)
   1775fm_port
   1776    port # for OPL3 device (0x388)
   1777irq
   1778    IRQ # for WSS chip (5,7,9,10,11)
   1779mpu_irq
   1780    IRQ # for MPU-401 UART (5,7,9,10)
   1781dma1
   1782    first DMA # for WSS chip (0,1,3)
   1783dma2
   1784    second DMA # for WSS chip (0,1,3)
   1785
   1786This module supports only one card, autoprobe and PnP.
   1787
   1788Module snd-opti93x
   1789------------------
   1790
   1791Module for sound cards based on OPTi 82c93x chips.
   1792
   1793isapnp
   1794    ISA PnP detection - 0 = disable, 1 = enable (default)
   1795
   1796with ``isapnp=0``, the following options are available:
   1797
   1798port
   1799    port # for WSS chip (0x530,0xe80,0xf40,0x604)
   1800mpu_port
   1801    port # for MPU-401 UART (0x300,0x310,0x320,0x330)
   1802fm_port
   1803    port # for OPL3 device (0x388)
   1804irq
   1805    IRQ # for WSS chip (5,7,9,10,11)
   1806mpu_irq
   1807    IRQ # for MPU-401 UART (5,7,9,10)
   1808dma1
   1809    first DMA # for WSS chip (0,1,3)
   1810dma2
   1811    second DMA # for WSS chip (0,1,3)
   1812
   1813This module supports only one card, autoprobe and PnP.
   1814
   1815Module snd-oxygen
   1816-----------------
   1817
   1818Module 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    
   1834This module supports autoprobe and multiple cards.
   1835  
   1836Module snd-pcsp
   1837---------------
   1838
   1839Module for internal PC-Speaker.
   1840
   1841nopcm
   1842    Disable PC-Speaker PCM sound. Only beeps remain.
   1843nforce_wa
   1844    enable NForce chipset workaround. Expect bad sound.
   1845
   1846This module supports system beeps, some kind of PCM playback and
   1847even a few mixer controls.
   1848
   1849Module snd-pcxhr
   1850----------------
   1851
   1852Module for Digigram PCXHR boards
   1853
   1854This module supports multiple cards.
   1855
   1856Module snd-portman2x4
   1857---------------------
   1858
   1859Module for Midiman Portman 2x4 parallel port MIDI interface
   1860
   1861This module supports multiple cards.
   1862
   1863Module snd-powermac (on ppc only)
   1864---------------------------------
   1865
   1866Module for PowerMac, iMac and iBook on-board soundchips
   1867
   1868enable_beep
   1869    enable beep using PCM (enabled as default)
   1870
   1871Module supports autoprobe a chip.
   1872
   1873Note: the driver may have problems regarding endianness.
   1874
   1875The power-management is supported.
   1876
   1877Module snd-pxa2xx-ac97 (on arm only)
   1878------------------------------------
   1879
   1880Module for AC97 driver for the Intel PXA2xx chip
   1881
   1882For ARM architecture only.
   1883
   1884The power-management is supported.
   1885
   1886Module snd-riptide
   1887------------------
   1888
   1889Module for Conexant Riptide chip
   1890
   1891joystick_port
   1892    Joystick port # (default: 0x200)
   1893mpu_port
   1894    MPU401 port # (default: 0x330)
   1895opl3_port
   1896    OPL3 port # (default: 0x388)
   1897
   1898This module supports multiple cards.
   1899The driver requires the firmware loader support on kernel.
   1900You need to install the firmware file ``riptide.hex`` to the standard
   1901firmware path (e.g. /lib/firmware).
   1902
   1903Module snd-rme32
   1904----------------
   1905
   1906Module for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32, 
   1907Prodif96 and Prodif Gold) sound cards.
   1908
   1909This module supports multiple cards.
   1910
   1911Module snd-rme96
   1912----------------
   1913
   1914Module for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
   1915
   1916This module supports multiple cards.
   1917
   1918Module snd-rme9652
   1919------------------
   1920
   1921Module for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
   1922
   1923precise_ptr
   1924    Enable precise pointer (doesn't work reliably). (default = 0)
   1925
   1926This module supports multiple cards.
   1927
   1928Note: snd-page-alloc module does the job which snd-hammerfall-mem
   1929module did formerly.  It will allocate the buffers in advance
   1930when any RME9652 cards are found.  To make the buffer
   1931allocation sure, load snd-page-alloc module in the early
   1932stage of boot sequence.  See `Early Buffer Allocation`_
   1933section.
   1934
   1935Module snd-sa11xx-uda1341 (on arm only)
   1936---------------------------------------
   1937
   1938Module for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
   1939
   1940Module supports only one card.
   1941Module has no enable and index options.
   1942
   1943The power-management is supported.
   1944
   1945Module snd-sb8
   1946--------------
   1947
   1948Module for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,
   1949SoundBlaster Pro
   1950
   1951port
   1952    port # for SB DSP chip (0x220,0x240,0x260)
   1953irq
   1954    IRQ # for SB DSP chip (5,7,9,10)
   1955dma8
   1956    DMA # for SB DSP chip (1,3)
   1957
   1958This module supports multiple cards and autoprobe.
   1959
   1960The power-management is supported.
   1961
   1962Module snd-sb16 and snd-sbawe
   1963-----------------------------
   1964
   1965Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
   1966SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP
   1967
   1968mic_agc
   1969    Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
   1970csp
   1971    ASP/CSP chip support - 0 = disable (default), 1 = enable
   1972isapnp
   1973    ISA PnP detection - 0 = disable, 1 = enable (default)
   1974
   1975with isapnp=0, the following options are available:
   1976
   1977port
   1978    port # for SB DSP 4.x chip (0x220,0x240,0x260)
   1979mpu_port
   1980    port # for MPU-401 UART (0x300,0x330), -1 = disable
   1981awe_port
   1982    base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe
   1983    module only)
   1984irq
   1985    IRQ # for SB DSP 4.x chip (5,7,9,10)
   1986dma8
   1987    8-bit DMA # for SB DSP 4.x chip (0,1,3)
   1988dma16
   1989    16-bit DMA # for SB DSP 4.x chip (5,6,7)
   1990
   1991This module supports multiple cards, autoprobe and ISA PnP.
   1992
   1993Note: To use Vibra16X cards in 16-bit half duplex mode, you must
   1994disable 16bit DMA with dma16 = -1 module parameter.
   1995Also, all Sound Blaster 16 type cards can operate in 16-bit
   1996half duplex mode through 8-bit DMA channel by disabling their
   199716-bit DMA channel.
   1998
   1999The power-management is supported.
   2000
   2001Module snd-sc6000
   2002-----------------
   2003
   2004Module for Gallant SC-6000 soundcard and later models: SC-6600 and
   2005SC-7000.
   2006
   2007port
   2008    Port # (0x220 or 0x240)
   2009mss_port
   2010    MSS Port # (0x530 or 0xe80)
   2011irq
   2012    IRQ # (5,7,9,10,11)
   2013mpu_irq
   2014    MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
   2015dma
   2016    DMA # (1,3,0)
   2017joystick
   2018    Enable gameport - 0 = disable (default), 1 = enable
   2019
   2020This module supports multiple cards.
   2021
   2022This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
   2023
   2024Module snd-sscape
   2025-----------------
   2026
   2027Module for ENSONIQ SoundScape cards.
   2028
   2029port
   2030    Port # (PnP setup)
   2031wss_port
   2032    WSS Port # (PnP setup)
   2033irq
   2034    IRQ # (PnP setup)
   2035mpu_irq
   2036    MPU-401 IRQ # (PnP setup)
   2037dma
   2038    DMA # (PnP setup)
   2039dma2
   2040    2nd DMA # (PnP setup, -1 to disable)
   2041joystick
   2042    Enable gameport - 0 = disable (default), 1 = enable
   2043
   2044This module supports multiple cards.
   2045
   2046The driver requires the firmware loader support on kernel.
   2047
   2048Module snd-sun-amd7930 (on sparc only)
   2049--------------------------------------
   2050
   2051Module for AMD7930 sound chips found on Sparcs.
   2052
   2053This module supports multiple cards.
   2054
   2055Module snd-sun-cs4231 (on sparc only)
   2056-------------------------------------
   2057
   2058Module for CS4231 sound chips found on Sparcs.
   2059
   2060This module supports multiple cards.
   2061
   2062Module snd-sun-dbri (on sparc only)
   2063-----------------------------------
   2064
   2065Module for DBRI sound chips found on Sparcs.
   2066
   2067This module supports multiple cards.
   2068
   2069Module snd-wavefront
   2070--------------------
   2071
   2072Module for Turtle Beach Maui, Tropez and Tropez+ sound cards.
   2073
   2074use_cs4232_midi
   2075    Use CS4232 MPU-401 interface
   2076    (inaccessibly located inside your computer)
   2077isapnp
   2078    ISA PnP detection - 0 = disable, 1 = enable (default)
   2079
   2080with isapnp=0, the following options are available:
   2081
   2082cs4232_pcm_port
   2083    Port # for CS4232 PCM interface.
   2084cs4232_pcm_irq
   2085    IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
   2086cs4232_mpu_port
   2087    Port # for CS4232 MPU-401 interface.
   2088cs4232_mpu_irq
   2089    IRQ # for CS4232 MPU-401 interface (9,11,12,15).
   2090ics2115_port
   2091    Port # for ICS2115
   2092ics2115_irq
   2093    IRQ # for ICS2115
   2094fm_port
   2095    FM OPL-3 Port #
   2096dma1
   2097    DMA1 # for CS4232 PCM interface.
   2098dma2
   2099    DMA2 # for CS4232 PCM interface.
   2100
   2101The below are options for wavefront_synth features:
   2102
   2103wf_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.
   2107fx_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.
   2113debug_default
   2114    Debug parameters for card initialization
   2115wait_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. 
   2126sleep_interval
   2127    How long to sleep when waiting for reply (default: 100)
   2128sleep_tries
   2129    How many times to try sleeping during a wait (default: 50)
   2130ospath
   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.
   2136reset_time
   2137    How long to wait for a reset to take effect (default:2)
   2138ramcheck_time
   2139    How many seconds to wait for the RAM test (default:20)
   2140osrun_time
   2141    How many seconds to wait for the ICS2115 OS (default:10)
   2142
   2143This module supports multiple cards and ISA PnP.
   2144
   2145Note: the firmware file ``wavefront.os`` was located in the earlier
   2146version in /etc.  Now it's loaded via firmware loader, and
   2147must be in the proper firmware path, such as /lib/firmware.
   2148Copy (or symlink) the file appropriately if you get an error
   2149regarding firmware downloading after upgrading the kernel.
   2150
   2151Module snd-sonicvibes
   2152---------------------
   2153
   2154Module for S3 SonicVibes PCI sound cards.
   2155* PINE Schubert 32 PCI
   2156  
   2157reverb
   2158    Reverb Enable - 1 = enable, 0 = disable (default);
   2159    SoundCard must have onboard SRAM for this.
   2160mge
   2161    Mic Gain Enable - 1 = enable, 0 = disable (default)
   2162
   2163This module supports multiple cards and autoprobe.
   2164
   2165Module snd-serial-u16550
   2166------------------------
   2167
   2168Module for UART16550A serial MIDI ports.
   2169
   2170port
   2171    port # for UART16550A chip
   2172irq
   2173    IRQ # for UART16550A chip, -1 = poll mode
   2174speed
   2175    speed in bauds (9600,19200,38400,57600,115200)
   2176    38400 = default
   2177base
   2178    base for divisor in bauds (57600,115200,230400,460800)
   2179    115200 = default
   2180outs
   2181    number of MIDI ports in a serial port (1-4)
   2182    1 = default
   2183adaptor
   2184    Type of adaptor.
   2185	0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
   2186	3 = MS-124W M/B, 4 = Generic
   2187
   2188This module supports multiple cards. This module does not support autoprobe
   2189thus the main port must be specified!!! Other options are optional.
   2190
   2191Module snd-trident
   2192------------------
   2193
   2194Module 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		    
   2206pcm_channels
   2207    max channels (voices) reserved for PCM
   2208wavetable_size
   2209    max wavetable size in kB (4-?kb)
   2210
   2211This module supports multiple cards and autoprobe.
   2212
   2213The power-management is supported.
   2214
   2215Module snd-ua101
   2216----------------
   2217
   2218Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
   2219
   2220This module supports multiple devices, autoprobe and hotplugging.
   2221
   2222Module snd-usb-audio
   2223--------------------
   2224
   2225Module for USB audio and USB MIDI devices.
   2226
   2227vid
   2228    Vendor ID for the device (optional)
   2229pid
   2230    Product ID for the device (optional)
   2231nrpacks
   2232    Max. number of packets per URB (default: 8)
   2233device_setup
   2234    Device specific magic number (optional);
   2235    Influence depends on the device
   2236    Default: 0x0000 
   2237ignore_ctl_error
   2238    Ignore any USB-controller regarding mixer interface (default: no)
   2239autoclock
   2240    Enable auto-clock selection for UAC2 devices (default: yes)
   2241quirk_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.
   2245implicit_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.
   2250use_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.
   2257delayed_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.
   2270quirk_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
   2294This module supports multiple devices, autoprobe and hotplugging.
   2295
   2296NB: ``nrpacks`` parameter can be modified dynamically via sysfs.
   2297Don't put the value over 20.  Changing via sysfs has no sanity
   2298check.
   2299
   2300NB: ``ignore_ctl_error=1`` may help when you get an error at accessing
   2301the mixer element such as URB error -22.  This happens on some
   2302buggy USB device or the controller.  This workaround corresponds to
   2303the ``quirk_flags`` bit 14, too.
   2304
   2305NB: ``quirk_alias`` option is provided only for testing / development.
   2306If you want to have a proper support, contact to upstream for
   2307adding the matching quirk in the driver code statically.
   2308Ditto for ``quirk_flags``.  If a device is known to require specific
   2309workarounds, please report to the upstream.
   2310
   2311Module snd-usb-caiaq
   2312--------------------
   2313
   2314Module 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	
   2321This module supports multiple devices, autoprobe and hotplugging.
   2322  
   2323Module snd-usb-usx2y
   2324--------------------
   2325
   2326Module for Tascam USB US-122, US-224 and US-428 devices.
   2327
   2328This module supports multiple devices, autoprobe and hotplugging.
   2329
   2330Note: you need to load the firmware via ``usx2yloader`` utility included
   2331in alsa-tools and alsa-firmware packages.
   2332
   2333Module snd-via82xx
   2334------------------
   2335
   2336Module for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,
   23378233C, 8235, 8237 (south) bridge.
   2338
   2339mpu_port
   2340    0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
   2341    [VIA686A/686B only]
   2342joystick
   2343    Enable joystick (default off) [VIA686A/686B only]
   2344ac97_clock
   2345    AC'97 codec clock base (default 48000Hz)
   2346dxs_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]
   2350ac97_quirk
   2351    AC'97 workaround for strange hardware;
   2352    See `AC97 Quirk Option`_ section below.
   2353
   2354This module supports one chip and autoprobe.
   2355
   2356Note: on some SMP motherboards like MSI 694D the interrupts might
   2357not be generated properly.  In such a case, please try to
   2358set the SMP (or MPS) version on BIOS to 1.1 instead of
   2359default value 1.4.  Then the interrupt number will be
   2360assigned under 15. You might also upgrade your BIOS.
   2361
   2362Note: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
   2363channels as the first PCM.  On these channels, up to 4
   2364streams can be played at the same time, and the controller
   2365can perform sample rate conversion with separate rates for
   2366each channel.
   2367As default (``dxs_support = 0``), 48k fixed rate is chosen
   2368except for the known devices since the output is often
   2369noisy except for 48k on some mother boards due to the
   2370bug of BIOS.
   2371Please try once ``dxs_support=5`` and if it works on other
   2372sample rates (e.g. 44.1kHz of mp3 playback), please let us
   2373know the PCI subsystem vendor/device id's (output of
   2374``lspci -nv``).
   2375If ``dxs_support=5`` does not work, try ``dxs_support=4``; if it
   2376doesn't work too, try dxs_support=1.  (dxs_support=1 is
   2377usually for old motherboards.  The correct implemented
   2378board should work with 4 or 5.)  If it still doesn't
   2379work and the default setting is ok, ``dxs_support=3`` is the
   2380right choice.  If the default setting doesn't work at all,
   2381try ``dxs_support=2`` to disable the DXS channels.
   2382In any cases, please let us know the result and the
   2383subsystem vendor/device ids.  See `Links and Addresses`_
   2384below.
   2385
   2386Note: for the MPU401 on VIA823x, use snd-mpu401 driver
   2387additionally.  The mpu_port option is for VIA686 chips only.
   2388
   2389The power-management is supported.
   2390
   2391Module snd-via82xx-modem
   2392------------------------
   2393
   2394Module for VIA82xx AC97 modem
   2395
   2396ac97_clock
   2397    AC'97 codec clock base (default 48000Hz)
   2398
   2399This module supports one card and autoprobe.
   2400
   2401Note: The default index value of this module is -2, i.e. the first
   2402slot is excluded.
   2403
   2404The power-management is supported.
   2405
   2406Module snd-virmidi
   2407------------------
   2408
   2409Module for virtual rawmidi devices.
   2410This module creates virtual rawmidi devices which communicate
   2411to the corresponding ALSA sequencer ports.
   2412
   2413midi_devs
   2414    MIDI devices # (1-4, default=4)
   2415
   2416This module supports multiple cards.
   2417
   2418Module snd-virtuoso
   2419-------------------
   2420
   2421Module for sound cards based on the Asus AV66/AV100/AV200 chips,
   2422i.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),
   2423Essence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.
   2424
   2425This module supports autoprobe and multiple cards.
   2426
   2427Module snd-vx222
   2428----------------
   2429
   2430Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
   2431
   2432mic
   2433    Enable Microphone on V222 Mic (NYI)
   2434ibl
   2435    Capture IBL size. (default = 0, minimum size)
   2436
   2437This module supports multiple cards.
   2438
   2439When the driver is compiled as a module and the hotplug firmware
   2440is supported, the firmware data is loaded via hotplug automatically.
   2441Install the necessary firmware files in alsa-firmware package.
   2442When no hotplug fw loader is available, you need to load the
   2443firmware via vxloader utility in alsa-tools package.  To invoke
   2444vxloader 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.)
   2453IBL size defines the interrupts period for PCM.  The smaller size
   2454gives smaller latency but leads to more CPU consumption, too.
   2455The size is usually aligned to 126.  As default (=0), the smallest
   2456size is chosen.  The possible IBL values can be found in
   2457/proc/asound/cardX/vx-status proc file.
   2458
   2459The power-management is supported.
   2460
   2461Module snd-vxpocket
   2462-------------------
   2463
   2464Module for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
   2465
   2466ibl
   2467    Capture IBL size. (default = 0, minimum size)
   2468
   2469This module supports multiple cards.  The module is compiled only when
   2470PCMCIA is supported on kernel.
   2471
   2472With the older 2.6.x kernel, to activate the driver via the card
   2473manager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
   2474sound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
   2475longer require a config file.
   2476
   2477When the driver is compiled as a module and the hotplug firmware
   2478is supported, the firmware data is loaded via hotplug automatically.
   2479Install the necessary firmware files in alsa-firmware package.
   2480When no hotplug fw loader is available, you need to load the
   2481firmware via vxloader utility in alsa-tools package.
   2482
   2483About capture IBL, see the description of snd-vx222 module.
   2484
   2485Note: snd-vxp440 driver is merged to snd-vxpocket driver since
   2486ALSA 1.0.10.
   2487
   2488The power-management is supported.
   2489
   2490Module snd-ymfpci
   2491-----------------
   2492
   2493Module for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
   2494
   2495mpu_port
   2496    0x300,0x330,0x332,0x334, 0 (disable) by default,
   2497    1 (auto-detect for YMF744/754 only)
   2498fm_port
   2499    0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
   2500    1 (auto-detect for YMF744/754 only)
   2501joystick_port
   2502    0x201,0x202,0x204,0x205, 0 (disable) by default,
   2503    1 (auto-detect)
   2504rear_switch
   2505    enable shared rear/line-in switch (bool)
   2506
   2507This module supports autoprobe and multiple chips.
   2508
   2509The power-management is supported.
   2510
   2511Module snd-pdaudiocf
   2512--------------------
   2513
   2514Module for Sound Core PDAudioCF sound card.
   2515
   2516The power-management is supported.
   2517
   2518
   2519AC97 Quirk Option
   2520=================
   2521
   2522The ac97_quirk option is used to enable/override the workaround for
   2523specific devices on drivers for on-board AC'97 controllers like
   2524snd-intel8x0.  Some hardware have swapped output pins between Master
   2525and Headphone, or Surround (thanks to confusion of AC'97
   2526specifications from version to version :-)
   2527
   2528The driver provides the auto-detection of known problematic devices,
   2529but some might be unknown or wrongly detected.  In such a case, pass
   2530the proper value with this option.
   2531
   2532The following strings are accepted:
   2533
   2534default
   2535    Don't override the default setting
   2536none
   2537    Disable the quirk
   2538hp_only
   2539    Bind Master and Headphone controls as a single control
   2540swap_hp
   2541    Swap headphone and master controls
   2542swap_surround
   2543    Swap master and surround controls
   2544ad_sharing
   2545    For AD1985, turn on OMS bit and use headphone
   2546alc_jack
   2547    For ALC65x, turn on the jack sense mode
   2548inv_eapd
   2549    Inverted EAPD implementation
   2550mute_led
   2551    Bind EAPD bit for turning on/off mute LED
   2552
   2553For backward compatibility, the corresponding integer value -1, 0, ...
   2554are  accepted, too.
   2555
   2556For example, if ``Master`` volume control has no effect on your device
   2557but only ``Headphone`` does, pass ac97_quirk=hp_only module option.
   2558
   2559
   2560Configuring Non-ISAPNP Cards
   2561============================
   2562
   2563When the kernel is configured with ISA-PnP support, the modules
   2564supporting the isapnp cards will have module options ``isapnp``.
   2565If this option is set, *only* the ISA-PnP devices will be probed.
   2566For probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option
   2567together with the proper i/o and irq configuration.
   2568
   2569When the kernel is configured without ISA-PnP support, isapnp option
   2570will be not built in.
   2571
   2572
   2573Module Autoloading Support
   2574==========================
   2575
   2576The ALSA drivers can be loaded automatically on demand by defining
   2577module aliases.  The string ``snd-card-%1`` is requested for ALSA native
   2578devices where ``%i`` is sound card number from zero to seven.
   2579
   2580To auto-load an ALSA driver for OSS services, define the string
   2581``sound-slot-%i`` where ``%i`` means the slot number for OSS, which
   2582corresponds to the card index of ALSA.  Usually, define this
   2583as the same card module.
   2584
   2585An 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
   2593The available number of auto-loaded sound cards depends on the module
   2594option ``cards_limit`` of snd module.  As default it's set to 1.
   2595To enable the auto-loading of multiple cards, specify the number of
   2596sound cards in that option.
   2597
   2598When multiple cards are available, it'd better to specify the index
   2599number for each card via module option, too, so that the order of
   2600cards is kept consistent.
   2601
   2602An 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
   2617In this example, the interwave card is always loaded as the first card
   2618(index 0) and ens1371 as the second (index 1).
   2619
   2620Alternative (and new) way to fixate the slot assignment is to use
   2621``slots`` option of snd module.  In the case above, specify like the
   2622following: 
   2623::
   2624
   2625    options snd slots=snd-interwave,snd-ens1371
   2626
   2627Then, the first slot (#0) is reserved for snd-interwave driver, and
   2628the second (#1) for snd-ens1371.  You can omit index option in each
   2629driver if slots option is used (although you can still have them at
   2630the same time as long as they don't conflict).
   2631
   2632The slots option is especially useful for avoiding the possible
   2633hot-plugging and the resultant slot conflict.  For example, in the
   2634case above again, the first two slots are already reserved.  If any
   2635other driver (e.g. snd-usb-audio) is loaded before snd-interwave or
   2636snd-ens1371, it will be assigned to the third or later slot.
   2637
   2638When a module name is given with '!', the slot will be given for any
   2639modules but that name.  For example, ``slots=!snd-pcsp`` will reserve
   2640the first slot for any modules but snd-pcsp. 
   2641
   2642
   2643ALSA 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
   2657The first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means
   2658sound card number and second means device number.  The ALSA devices
   2659have either ``c`` or ``p`` suffix indicating the direction, capture and
   2660playback, respectively.
   2661
   2662Please note that the device mapping above may be varied via the module
   2663options of snd-pcm-oss module.
   2664
   2665
   2666Proc interfaces (/proc/asound)
   2667==============================
   2668
   2669/proc/asound/card#/pcm#[cp]/oss
   2670-------------------------------
   2671erase
   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
   2704Example:
   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
   2712Early Buffer Allocation
   2713=======================
   2714
   2715Some drivers (e.g. hdsp) require the large contiguous buffers, and
   2716sometimes it's too late to find such spaces when the driver module is
   2717actually loaded due to memory fragmentation.  You can pre-allocate the
   2718PCM buffers by loading snd-page-alloc module and write commands to its
   2719proc file in prior, for example, in the early boot stage like
   2720``/etc/init.d/*.local`` scripts.
   2721
   2722Reading the proc file /proc/drivers/snd-page-alloc shows the current
   2723usage of page allocation.  In writing, you can send the following
   2724commands to the snd-page-alloc driver:
   2725
   2726* add VENDOR DEVICE MASK SIZE BUFFERS
   2727
   2728VENDOR and DEVICE are PCI vendor and device IDs.  They take
   2729integer numbers (0x prefix is needed for the hex).
   2730MASK is the PCI DMA mask.  Pass 0 if not restricted.
   2731SIZE is the size of each buffer to allocate.  You can pass
   2732k and m suffix for KB and MB.  The max number is 16MB.
   2733BUFFERS is the number of buffers to allocate.  It must be greater
   2734than 0.  The max number is 4.
   2735
   2736* erase
   2737
   2738This will erase the all pre-allocated buffers which are not in
   2739use.
   2740
   2741
   2742Links and Addresses
   2743===================
   2744
   2745ALSA project homepage
   2746    http://www.alsa-project.org
   2747Kernel Bugzilla
   2748    http://bugzilla.kernel.org/
   2749ALSA Developers ML
   2750    mailto:alsa-devel@alsa-project.org
   2751alsa-info.sh script
   2752    https://www.alsa-project.org/alsa-info.sh