xref: /OK3568_Linux_fs/kernel/Documentation/sound/alsa-configuration.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun==============================================================
2*4882a593SmuzhiyunAdvanced Linux Sound Architecture - Driver Configuration guide
3*4882a593Smuzhiyun==============================================================
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunKernel Configuration
7*4882a593Smuzhiyun====================
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunTo enable ALSA support you need at least to build the kernel with
10*4882a593Smuzhiyunprimary sound card support (``CONFIG_SOUND``).  Since ALSA can emulate
11*4882a593SmuzhiyunOSS, you don't have to choose any of the OSS modules.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunEnable "OSS API emulation" (``CONFIG_SND_OSSEMUL``) and both OSS mixer
14*4882a593Smuzhiyunand PCM supports if you want to run OSS applications with ALSA.
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunIf you want to support the WaveTable functionality on cards such as
17*4882a593SmuzhiyunSB Live! then you need to enable "Sequencer support"
18*4882a593Smuzhiyun(``CONFIG_SND_SEQUENCER``).
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunTo make ALSA debug messages more verbose, enable the "Verbose printk"
21*4882a593Smuzhiyunand "Debug" options.  To check for memory leaks, turn on "Debug memory"
22*4882a593Smuzhiyuntoo.  "Debug detection" will add checks for the detection of cards.
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunPlease note that all the ALSA ISA drivers support the Linux isapnp API
25*4882a593Smuzhiyun(if the card supports ISA PnP).  You don't need to configure the cards
26*4882a593Smuzhiyunusing isapnptools.
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunModule parameters
30*4882a593Smuzhiyun=================
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunThe user can load modules with options. If the module supports more than
33*4882a593Smuzhiyunone card and you have more than one card of the same type then you can
34*4882a593Smuzhiyunspecify multiple values for the option separated by commas.
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunModule snd
38*4882a593Smuzhiyun----------
39*4882a593Smuzhiyun
40*4882a593SmuzhiyunThe core ALSA module.  It is used by all ALSA card drivers.
41*4882a593SmuzhiyunIt takes the following options which have global effects.
42*4882a593Smuzhiyun
43*4882a593Smuzhiyunmajor
44*4882a593Smuzhiyun    major number for sound driver;
45*4882a593Smuzhiyun    Default: 116
46*4882a593Smuzhiyuncards_limit
47*4882a593Smuzhiyun    limiting card index for auto-loading (1-8);
48*4882a593Smuzhiyun    Default: 1;
49*4882a593Smuzhiyun    For auto-loading more than one card, specify this option
50*4882a593Smuzhiyun    together with snd-card-X aliases.
51*4882a593Smuzhiyunslots
52*4882a593Smuzhiyun    Reserve the slot index for the given driver;
53*4882a593Smuzhiyun    This option takes multiple strings.
54*4882a593Smuzhiyun    See `Module Autoloading Support`_ section for details.
55*4882a593Smuzhiyundebug
56*4882a593Smuzhiyun    Specifies the debug message level;
57*4882a593Smuzhiyun    (0 = disable debug prints, 1 = normal debug messages,
58*4882a593Smuzhiyun    2 = verbose debug messages);
59*4882a593Smuzhiyun    This option appears only when ``CONFIG_SND_DEBUG=y``.
60*4882a593Smuzhiyun    This option can be dynamically changed via sysfs
61*4882a593Smuzhiyun    /sys/modules/snd/parameters/debug file.
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunModule snd-pcm-oss
64*4882a593Smuzhiyun------------------
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunThe PCM OSS emulation module.
67*4882a593SmuzhiyunThis module takes options which change the mapping of devices.
68*4882a593Smuzhiyun
69*4882a593Smuzhiyundsp_map
70*4882a593Smuzhiyun    PCM device number maps assigned to the 1st OSS device;
71*4882a593Smuzhiyun    Default: 0
72*4882a593Smuzhiyunadsp_map
73*4882a593Smuzhiyun    PCM device number maps assigned to the 2st OSS device;
74*4882a593Smuzhiyun    Default: 1
75*4882a593Smuzhiyunnonblock_open
76*4882a593Smuzhiyun    Don't block opening busy PCM devices;
77*4882a593Smuzhiyun    Default: 1
78*4882a593Smuzhiyun
79*4882a593SmuzhiyunFor example, when ``dsp_map=2``, /dev/dsp will be mapped to PCM #2 of
80*4882a593Smuzhiyunthe card #0.  Similarly, when ``adsp_map=0``, /dev/adsp will be mapped
81*4882a593Smuzhiyunto PCM #0 of the card #0.
82*4882a593SmuzhiyunFor changing the second or later card, specify the option with
83*4882a593Smuzhiyuncommas, such like ``dsp_map=0,1``.
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun``nonblock_open`` option is used to change the behavior of the PCM
86*4882a593Smuzhiyunregarding opening the device.  When this option is non-zero,
87*4882a593Smuzhiyunopening a busy OSS PCM device won't be blocked but return
88*4882a593Smuzhiyunimmediately with EAGAIN (just like O_NONBLOCK flag).
89*4882a593Smuzhiyun
90*4882a593SmuzhiyunModule snd-rawmidi
91*4882a593Smuzhiyun------------------
92*4882a593Smuzhiyun
93*4882a593SmuzhiyunThis module takes options which change the mapping of devices.
94*4882a593Smuzhiyunsimilar to those of the snd-pcm-oss module.
95*4882a593Smuzhiyun
96*4882a593Smuzhiyunmidi_map
97*4882a593Smuzhiyun    MIDI device number maps assigned to the 1st OSS device;
98*4882a593Smuzhiyun    Default: 0
99*4882a593Smuzhiyunamidi_map
100*4882a593Smuzhiyun    MIDI device number maps assigned to the 2st OSS device;
101*4882a593Smuzhiyun    Default: 1
102*4882a593Smuzhiyun
103*4882a593SmuzhiyunModule snd-soc-core
104*4882a593Smuzhiyun-------------------
105*4882a593Smuzhiyun
106*4882a593SmuzhiyunThe soc core module. It is used by all ALSA card drivers.
107*4882a593SmuzhiyunIt takes the following options which have global effects.
108*4882a593Smuzhiyun
109*4882a593Smuzhiyunprealloc_buffer_size_kbytes
110*4882a593Smuzhiyun    Specify prealloc buffer size in kbytes (default: 512).
111*4882a593Smuzhiyun
112*4882a593SmuzhiyunCommon parameters for top sound card modules
113*4882a593Smuzhiyun--------------------------------------------
114*4882a593Smuzhiyun
115*4882a593SmuzhiyunEach of top level sound card module takes the following options.
116*4882a593Smuzhiyun
117*4882a593Smuzhiyunindex
118*4882a593Smuzhiyun    index (slot #) of sound card;
119*4882a593Smuzhiyun    Values: 0 through 31 or negative;
120*4882a593Smuzhiyun    If nonnegative, assign that index number;
121*4882a593Smuzhiyun    if negative, interpret as a bitmask of permissible indices;
122*4882a593Smuzhiyun    the first free permitted index is assigned;
123*4882a593Smuzhiyun    Default: -1
124*4882a593Smuzhiyunid
125*4882a593Smuzhiyun    card ID (identifier or name);
126*4882a593Smuzhiyun    Can be up to 15 characters long;
127*4882a593Smuzhiyun    Default: the card type;
128*4882a593Smuzhiyun    A directory by this name is created under /proc/asound/
129*4882a593Smuzhiyun    containing information about the card;
130*4882a593Smuzhiyun    This ID can be used instead of the index number in
131*4882a593Smuzhiyun    identifying the card
132*4882a593Smuzhiyunenable
133*4882a593Smuzhiyun    enable card;
134*4882a593Smuzhiyun    Default: enabled, for PCI and ISA PnP cards
135*4882a593Smuzhiyun
136*4882a593SmuzhiyunModule snd-adlib
137*4882a593Smuzhiyun----------------
138*4882a593Smuzhiyun
139*4882a593SmuzhiyunModule for AdLib FM cards.
140*4882a593Smuzhiyun
141*4882a593Smuzhiyunport
142*4882a593Smuzhiyun    port # for OPL chip
143*4882a593Smuzhiyun
144*4882a593SmuzhiyunThis module supports multiple cards. It does not support autoprobe, so
145*4882a593Smuzhiyunthe port must be specified. For actual AdLib FM cards it will be 0x388.
146*4882a593SmuzhiyunNote that this card does not have PCM support and no mixer; only FM
147*4882a593Smuzhiyunsynthesis.
148*4882a593Smuzhiyun
149*4882a593SmuzhiyunMake sure you have ``sbiload`` from the alsa-tools package available and,
150*4882a593Smuzhiyunafter loading the module, find out the assigned ALSA sequencer port
151*4882a593Smuzhiyunnumber through ``sbiload -l``.
152*4882a593Smuzhiyun
153*4882a593SmuzhiyunExample output:
154*4882a593Smuzhiyun::
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun      Port     Client name                       Port name
157*4882a593Smuzhiyun      64:0     OPL2 FM synth                     OPL2 FM Port
158*4882a593Smuzhiyun
159*4882a593SmuzhiyunLoad the ``std.sb`` and ``drums.sb`` patches also supplied by ``sbiload``:
160*4882a593Smuzhiyun::
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun      sbiload -p 64:0 std.sb drums.sb
163*4882a593Smuzhiyun
164*4882a593SmuzhiyunIf you use this driver to drive an OPL3, you can use ``std.o3`` and ``drums.o3``
165*4882a593Smuzhiyuninstead. To have the card produce sound, use ``aplaymidi`` from alsa-utils:
166*4882a593Smuzhiyun::
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun      aplaymidi -p 64:0 foo.mid
169*4882a593Smuzhiyun
170*4882a593SmuzhiyunModule snd-ad1816a
171*4882a593Smuzhiyun------------------
172*4882a593Smuzhiyun
173*4882a593SmuzhiyunModule for sound cards based on Analog Devices AD1816A/AD1815 ISA chips.
174*4882a593Smuzhiyun
175*4882a593Smuzhiyunclockfreq
176*4882a593Smuzhiyun    Clock frequency for AD1816A chip (default = 0, 33000Hz)
177*4882a593Smuzhiyun
178*4882a593SmuzhiyunThis module supports multiple cards, autoprobe and PnP.
179*4882a593Smuzhiyun
180*4882a593SmuzhiyunModule snd-ad1848
181*4882a593Smuzhiyun-----------------
182*4882a593Smuzhiyun
183*4882a593SmuzhiyunModule for sound cards based on AD1848/AD1847/CS4248 ISA chips.
184*4882a593Smuzhiyun
185*4882a593Smuzhiyunport
186*4882a593Smuzhiyun    port # for AD1848 chip
187*4882a593Smuzhiyunirq
188*4882a593Smuzhiyun    IRQ # for AD1848  chip
189*4882a593Smuzhiyundma1
190*4882a593Smuzhiyun    DMA # for AD1848 chip (0,1,3)
191*4882a593Smuzhiyun
192*4882a593SmuzhiyunThis module supports multiple cards.  It does not support autoprobe
193*4882a593Smuzhiyunthus main port must be specified!!! Other ports are optional.
194*4882a593Smuzhiyun
195*4882a593SmuzhiyunThe power-management is supported.
196*4882a593Smuzhiyun
197*4882a593SmuzhiyunModule snd-ad1889
198*4882a593Smuzhiyun-----------------
199*4882a593Smuzhiyun
200*4882a593SmuzhiyunModule for Analog Devices AD1889 chips.
201*4882a593Smuzhiyun
202*4882a593Smuzhiyunac97_quirk
203*4882a593Smuzhiyun    AC'97 workaround for strange hardware;
204*4882a593Smuzhiyun    See the description of intel8x0 module for details.
205*4882a593Smuzhiyun
206*4882a593SmuzhiyunThis module supports multiple cards.
207*4882a593Smuzhiyun
208*4882a593SmuzhiyunModule snd-ali5451
209*4882a593Smuzhiyun------------------
210*4882a593Smuzhiyun
211*4882a593SmuzhiyunModule for ALi M5451 PCI chip.
212*4882a593Smuzhiyun
213*4882a593Smuzhiyunpcm_channels
214*4882a593Smuzhiyun    Number of hardware channels assigned for PCM
215*4882a593Smuzhiyunspdif
216*4882a593Smuzhiyun    Support SPDIF I/O;
217*4882a593Smuzhiyun    Default: disabled
218*4882a593Smuzhiyun
219*4882a593SmuzhiyunThis module supports one chip and autoprobe.
220*4882a593Smuzhiyun
221*4882a593SmuzhiyunThe power-management is supported.
222*4882a593Smuzhiyun
223*4882a593SmuzhiyunModule snd-als100
224*4882a593Smuzhiyun-----------------
225*4882a593Smuzhiyun
226*4882a593SmuzhiyunModule for sound cards based on Avance Logic ALS100/ALS120 ISA chips.
227*4882a593Smuzhiyun
228*4882a593SmuzhiyunThis module supports multiple cards, autoprobe and PnP.
229*4882a593Smuzhiyun
230*4882a593SmuzhiyunThe power-management is supported.
231*4882a593Smuzhiyun
232*4882a593SmuzhiyunModule snd-als300
233*4882a593Smuzhiyun-----------------
234*4882a593Smuzhiyun
235*4882a593SmuzhiyunModule for Avance Logic ALS300 and ALS300+
236*4882a593Smuzhiyun
237*4882a593SmuzhiyunThis module supports multiple cards.
238*4882a593Smuzhiyun
239*4882a593SmuzhiyunThe power-management is supported.
240*4882a593Smuzhiyun
241*4882a593SmuzhiyunModule snd-als4000
242*4882a593Smuzhiyun------------------
243*4882a593Smuzhiyun
244*4882a593SmuzhiyunModule for sound cards based on Avance Logic ALS4000 PCI chip.
245*4882a593Smuzhiyun
246*4882a593Smuzhiyunjoystick_port
247*4882a593Smuzhiyun    port # for legacy joystick support;
248*4882a593Smuzhiyun    0 = disabled (default), 1 = auto-detect
249*4882a593Smuzhiyun
250*4882a593SmuzhiyunThis module supports multiple cards, autoprobe and PnP.
251*4882a593Smuzhiyun
252*4882a593SmuzhiyunThe power-management is supported.
253*4882a593Smuzhiyun
254*4882a593SmuzhiyunModule snd-asihpi
255*4882a593Smuzhiyun-----------------
256*4882a593Smuzhiyun
257*4882a593SmuzhiyunModule for AudioScience ASI soundcards
258*4882a593Smuzhiyun
259*4882a593Smuzhiyunenable_hpi_hwdep
260*4882a593Smuzhiyun    enable HPI hwdep for AudioScience soundcard
261*4882a593Smuzhiyun
262*4882a593SmuzhiyunThis module supports multiple cards.
263*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
264*4882a593Smuzhiyun
265*4882a593SmuzhiyunModule snd-atiixp
266*4882a593Smuzhiyun-----------------
267*4882a593Smuzhiyun
268*4882a593SmuzhiyunModule for ATI IXP 150/200/250/400 AC97 controllers.
269*4882a593Smuzhiyun
270*4882a593Smuzhiyunac97_clock
271*4882a593Smuzhiyun    AC'97 clock (default = 48000)
272*4882a593Smuzhiyunac97_quirk
273*4882a593Smuzhiyun    AC'97 workaround for strange hardware;
274*4882a593Smuzhiyun    See `AC97 Quirk Option`_ section below.
275*4882a593Smuzhiyunac97_codec
276*4882a593Smuzhiyun    Workaround to specify which AC'97 codec instead of probing.
277*4882a593Smuzhiyun    If this works for you file a bug with your `lspci -vn` output.
278*4882a593Smuzhiyun    (-2 = Force probing, -1 = Default behavior, 0-2 = Use the
279*4882a593Smuzhiyun    specified codec.)
280*4882a593Smuzhiyunspdif_aclink
281*4882a593Smuzhiyun    S/PDIF transfer over AC-link (default = 1)
282*4882a593Smuzhiyun
283*4882a593SmuzhiyunThis module supports one card and autoprobe.
284*4882a593Smuzhiyun
285*4882a593SmuzhiyunATI IXP has two different methods to control SPDIF output.  One is
286*4882a593Smuzhiyunover AC-link and another is over the "direct" SPDIF output.  The
287*4882a593Smuzhiyunimplementation depends on the motherboard, and you'll need to
288*4882a593Smuzhiyunchoose the correct one via spdif_aclink module option.
289*4882a593Smuzhiyun
290*4882a593SmuzhiyunThe power-management is supported.
291*4882a593Smuzhiyun
292*4882a593SmuzhiyunModule snd-atiixp-modem
293*4882a593Smuzhiyun-----------------------
294*4882a593Smuzhiyun
295*4882a593SmuzhiyunModule for ATI IXP 150/200/250 AC97 modem controllers.
296*4882a593Smuzhiyun
297*4882a593SmuzhiyunThis module supports one card and autoprobe.
298*4882a593Smuzhiyun
299*4882a593SmuzhiyunNote: The default index value of this module is -2, i.e. the first
300*4882a593Smuzhiyunslot is excluded.
301*4882a593Smuzhiyun
302*4882a593SmuzhiyunThe power-management is supported.
303*4882a593Smuzhiyun
304*4882a593SmuzhiyunModule snd-au8810, snd-au8820, snd-au8830
305*4882a593Smuzhiyun-----------------------------------------
306*4882a593Smuzhiyun
307*4882a593SmuzhiyunModule for Aureal Vortex, Vortex2 and Advantage device.
308*4882a593Smuzhiyun
309*4882a593Smuzhiyunpcifix
310*4882a593Smuzhiyun    Control PCI workarounds;
311*4882a593Smuzhiyun    0 = Disable all workarounds,
312*4882a593Smuzhiyun    1 = Force the PCI latency of the Aureal card to 0xff,
313*4882a593Smuzhiyun    2 = Force the Extend PCI#2 Internal Master for Efficient
314*4882a593Smuzhiyun    Handling of Dummy Requests on the VIA KT133 AGP Bridge,
315*4882a593Smuzhiyun    3 = Force both settings,
316*4882a593Smuzhiyun    255 = Autodetect what is required (default)
317*4882a593Smuzhiyun
318*4882a593SmuzhiyunThis module supports all ADB PCM channels, ac97 mixer, SPDIF, hardware
319*4882a593SmuzhiyunEQ, mpu401, gameport. A3D and wavetable support are still in development.
320*4882a593SmuzhiyunDevelopment and reverse engineering work is being coordinated at
321*4882a593Smuzhiyunhttps://savannah.nongnu.org/projects/openvortex/
322*4882a593SmuzhiyunSPDIF output has a copy of the AC97 codec output, unless you use the
323*4882a593Smuzhiyun``spdif`` pcm device, which allows raw data passthru.
324*4882a593SmuzhiyunThe hardware EQ hardware and SPDIF is only present in the Vortex2 and
325*4882a593SmuzhiyunAdvantage.
326*4882a593Smuzhiyun
327*4882a593SmuzhiyunNote: Some ALSA mixer applications don't handle the SPDIF sample rate
328*4882a593Smuzhiyuncontrol correctly. If you have problems regarding this, try
329*4882a593Smuzhiyunanother ALSA compliant mixer (alsamixer works).
330*4882a593Smuzhiyun
331*4882a593SmuzhiyunModule snd-azt1605
332*4882a593Smuzhiyun------------------
333*4882a593Smuzhiyun
334*4882a593SmuzhiyunModule for Aztech Sound Galaxy soundcards based on the Aztech AZT1605
335*4882a593Smuzhiyunchipset.
336*4882a593Smuzhiyun
337*4882a593Smuzhiyunport
338*4882a593Smuzhiyun    port # for BASE (0x220,0x240,0x260,0x280)
339*4882a593Smuzhiyunwss_port
340*4882a593Smuzhiyun    port # for WSS (0x530,0x604,0xe80,0xf40)
341*4882a593Smuzhiyunirq
342*4882a593Smuzhiyun    IRQ # for WSS (7,9,10,11)
343*4882a593Smuzhiyundma1
344*4882a593Smuzhiyun    DMA # for WSS playback (0,1,3)
345*4882a593Smuzhiyundma2
346*4882a593Smuzhiyun    DMA # for WSS capture (0,1), -1 = disabled (default)
347*4882a593Smuzhiyunmpu_port
348*4882a593Smuzhiyun    port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
349*4882a593Smuzhiyunmpu_irq
350*4882a593Smuzhiyun    IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)
351*4882a593Smuzhiyunfm_port
352*4882a593Smuzhiyun    port # for OPL3 (0x388), -1 = disabled (default)
353*4882a593Smuzhiyun
354*4882a593SmuzhiyunThis module supports multiple cards. It does not support autoprobe:
355*4882a593Smuzhiyun``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
356*4882a593SmuzhiyunThe other values are optional.
357*4882a593Smuzhiyun
358*4882a593Smuzhiyun``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
359*4882a593Smuzhiyunor the value stored in the card's EEPROM for cards that have an EEPROM and
360*4882a593Smuzhiyuntheir "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
361*4882a593Smuzhiyunbe chosen freely from the options enumerated above.
362*4882a593Smuzhiyun
363*4882a593SmuzhiyunIf ``dma2`` is specified and different from ``dma1``, the card will operate in
364*4882a593Smuzhiyunfull-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
365*4882a593Smuzhiyunenable capture since only channels 0 and 1 are available for capture.
366*4882a593Smuzhiyun
367*4882a593SmuzhiyunGeneric settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
368*4882a593Smuzhiyunmpu_port=0x330 mpu_irq=9 fm_port=0x388``.
369*4882a593Smuzhiyun
370*4882a593SmuzhiyunWhatever IRQ and DMA channels you pick, be sure to reserve them for
371*4882a593Smuzhiyunlegacy ISA in your BIOS.
372*4882a593Smuzhiyun
373*4882a593SmuzhiyunModule snd-azt2316
374*4882a593Smuzhiyun------------------
375*4882a593Smuzhiyun
376*4882a593SmuzhiyunModule for Aztech Sound Galaxy soundcards based on the Aztech AZT2316
377*4882a593Smuzhiyunchipset.
378*4882a593Smuzhiyun
379*4882a593Smuzhiyunport
380*4882a593Smuzhiyun    port # for BASE (0x220,0x240,0x260,0x280)
381*4882a593Smuzhiyunwss_port
382*4882a593Smuzhiyun    port # for WSS (0x530,0x604,0xe80,0xf40)
383*4882a593Smuzhiyunirq
384*4882a593Smuzhiyun    IRQ # for WSS (7,9,10,11)
385*4882a593Smuzhiyundma1
386*4882a593Smuzhiyun    DMA # for WSS playback (0,1,3)
387*4882a593Smuzhiyundma2
388*4882a593Smuzhiyun    DMA # for WSS capture (0,1), -1 = disabled (default)
389*4882a593Smuzhiyunmpu_port
390*4882a593Smuzhiyun    port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
391*4882a593Smuzhiyunmpu_irq
392*4882a593Smuzhiyun    IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)
393*4882a593Smuzhiyunfm_port
394*4882a593Smuzhiyun    port # for OPL3 (0x388), -1 = disabled (default)
395*4882a593Smuzhiyun
396*4882a593SmuzhiyunThis module supports multiple cards. It does not support autoprobe:
397*4882a593Smuzhiyun``port``, ``wss_port``, ``irq`` and ``dma1`` have to be specified.
398*4882a593SmuzhiyunThe other values are optional.
399*4882a593Smuzhiyun
400*4882a593Smuzhiyun``port`` needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
401*4882a593Smuzhiyunor the value stored in the card's EEPROM for cards that have an EEPROM and
402*4882a593Smuzhiyuntheir "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
403*4882a593Smuzhiyunbe chosen freely from the options enumerated above.
404*4882a593Smuzhiyun
405*4882a593SmuzhiyunIf ``dma2`` is specified and different from ``dma1``, the card will operate in
406*4882a593Smuzhiyunfull-duplex mode. When ``dma1=3``, only ``dma2=0`` is valid and the only way to
407*4882a593Smuzhiyunenable capture since only channels 0 and 1 are available for capture.
408*4882a593Smuzhiyun
409*4882a593SmuzhiyunGeneric settings are ``port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
410*4882a593Smuzhiyunmpu_port=0x330 mpu_irq=9 fm_port=0x388``.
411*4882a593Smuzhiyun
412*4882a593SmuzhiyunWhatever IRQ and DMA channels you pick, be sure to reserve them for
413*4882a593Smuzhiyunlegacy ISA in your BIOS.
414*4882a593Smuzhiyun
415*4882a593SmuzhiyunModule snd-aw2
416*4882a593Smuzhiyun--------------
417*4882a593Smuzhiyun
418*4882a593SmuzhiyunModule for Audiowerk2 sound card
419*4882a593Smuzhiyun
420*4882a593SmuzhiyunThis module supports multiple cards.
421*4882a593Smuzhiyun
422*4882a593SmuzhiyunModule snd-azt2320
423*4882a593Smuzhiyun------------------
424*4882a593Smuzhiyun
425*4882a593SmuzhiyunModule for sound cards based on Aztech System AZT2320 ISA chip (PnP only).
426*4882a593Smuzhiyun
427*4882a593SmuzhiyunThis module supports multiple cards, PnP and autoprobe.
428*4882a593Smuzhiyun
429*4882a593SmuzhiyunThe power-management is supported.
430*4882a593Smuzhiyun
431*4882a593SmuzhiyunModule snd-azt3328
432*4882a593Smuzhiyun------------------
433*4882a593Smuzhiyun
434*4882a593SmuzhiyunModule for sound cards based on Aztech AZF3328 PCI chip.
435*4882a593Smuzhiyun
436*4882a593Smuzhiyunjoystick
437*4882a593Smuzhiyun    Enable joystick (default off)
438*4882a593Smuzhiyun
439*4882a593SmuzhiyunThis module supports multiple cards.
440*4882a593Smuzhiyun
441*4882a593SmuzhiyunModule snd-bt87x
442*4882a593Smuzhiyun----------------
443*4882a593Smuzhiyun
444*4882a593SmuzhiyunModule for video cards based on Bt87x chips.
445*4882a593Smuzhiyun
446*4882a593Smuzhiyundigital_rate
447*4882a593Smuzhiyun    Override the default digital rate (Hz)
448*4882a593Smuzhiyunload_all
449*4882a593Smuzhiyun    Load the driver even if the card model isn't known
450*4882a593Smuzhiyun
451*4882a593SmuzhiyunThis module supports multiple cards.
452*4882a593Smuzhiyun
453*4882a593SmuzhiyunNote: The default index value of this module is -2, i.e. the first
454*4882a593Smuzhiyunslot is excluded.
455*4882a593Smuzhiyun
456*4882a593SmuzhiyunModule snd-ca0106
457*4882a593Smuzhiyun-----------------
458*4882a593Smuzhiyun
459*4882a593SmuzhiyunModule for Creative Audigy LS and SB Live 24bit
460*4882a593Smuzhiyun
461*4882a593SmuzhiyunThis module supports multiple cards.
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun
464*4882a593SmuzhiyunModule snd-cmi8330
465*4882a593Smuzhiyun------------------
466*4882a593Smuzhiyun
467*4882a593SmuzhiyunModule for sound cards based on C-Media CMI8330 ISA chips.
468*4882a593Smuzhiyun
469*4882a593Smuzhiyunisapnp
470*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
471*4882a593Smuzhiyun
472*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
473*4882a593Smuzhiyun
474*4882a593Smuzhiyunwssport
475*4882a593Smuzhiyun    port # for CMI8330 chip (WSS)
476*4882a593Smuzhiyunwssirq
477*4882a593Smuzhiyun    IRQ # for CMI8330 chip (WSS)
478*4882a593Smuzhiyunwssdma
479*4882a593Smuzhiyun    first DMA # for CMI8330 chip (WSS)
480*4882a593Smuzhiyunsbport
481*4882a593Smuzhiyun    port # for CMI8330 chip (SB16)
482*4882a593Smuzhiyunsbirq
483*4882a593Smuzhiyun    IRQ # for CMI8330 chip (SB16)
484*4882a593Smuzhiyunsbdma8
485*4882a593Smuzhiyun    8bit DMA # for CMI8330 chip (SB16)
486*4882a593Smuzhiyunsbdma16
487*4882a593Smuzhiyun    16bit DMA # for CMI8330 chip (SB16)
488*4882a593Smuzhiyunfmport
489*4882a593Smuzhiyun    (optional) OPL3 I/O port
490*4882a593Smuzhiyunmpuport
491*4882a593Smuzhiyun    (optional) MPU401 I/O port
492*4882a593Smuzhiyunmpuirq
493*4882a593Smuzhiyun    (optional) MPU401 irq #
494*4882a593Smuzhiyun
495*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
496*4882a593Smuzhiyun
497*4882a593SmuzhiyunThe power-management is supported.
498*4882a593Smuzhiyun
499*4882a593SmuzhiyunModule snd-cmipci
500*4882a593Smuzhiyun-----------------
501*4882a593Smuzhiyun
502*4882a593SmuzhiyunModule for C-Media CMI8338/8738/8768/8770 PCI sound cards.
503*4882a593Smuzhiyun
504*4882a593Smuzhiyunmpu_port
505*4882a593Smuzhiyun    port address of MIDI interface (8338 only):
506*4882a593Smuzhiyun    0x300,0x310,0x320,0x330 = legacy port,
507*4882a593Smuzhiyun    1 = integrated PCI port (default on 8738),
508*4882a593Smuzhiyun    0 = disable
509*4882a593Smuzhiyunfm_port
510*4882a593Smuzhiyun    port address of OPL-3 FM synthesizer (8x38 only):
511*4882a593Smuzhiyun    0x388 = legacy port,
512*4882a593Smuzhiyun    1 = integrated PCI port (default on 8738),
513*4882a593Smuzhiyun    0 = disable
514*4882a593Smuzhiyunsoft_ac3
515*4882a593Smuzhiyun    Software-conversion of raw SPDIF packets (model 033 only) (default = 1)
516*4882a593Smuzhiyunjoystick_port
517*4882a593Smuzhiyun    Joystick port address (0 = disable, 1 = auto-detect)
518*4882a593Smuzhiyun
519*4882a593SmuzhiyunThis module supports autoprobe and multiple cards.
520*4882a593Smuzhiyun
521*4882a593SmuzhiyunThe power-management is supported.
522*4882a593Smuzhiyun
523*4882a593SmuzhiyunModule snd-cs4231
524*4882a593Smuzhiyun-----------------
525*4882a593Smuzhiyun
526*4882a593SmuzhiyunModule for sound cards based on CS4231 ISA chips.
527*4882a593Smuzhiyun
528*4882a593Smuzhiyunport
529*4882a593Smuzhiyun    port # for CS4231 chip
530*4882a593Smuzhiyunmpu_port
531*4882a593Smuzhiyun    port # for MPU-401 UART (optional), -1 = disable
532*4882a593Smuzhiyunirq
533*4882a593Smuzhiyun    IRQ # for CS4231 chip
534*4882a593Smuzhiyunmpu_irq
535*4882a593Smuzhiyun    IRQ # for MPU-401 UART
536*4882a593Smuzhiyundma1
537*4882a593Smuzhiyun    first DMA # for CS4231 chip
538*4882a593Smuzhiyundma2
539*4882a593Smuzhiyun    second DMA # for CS4231 chip
540*4882a593Smuzhiyun
541*4882a593SmuzhiyunThis module supports multiple cards. This module does not support autoprobe
542*4882a593Smuzhiyunthus main port must be specified!!! Other ports are optional.
543*4882a593Smuzhiyun
544*4882a593SmuzhiyunThe power-management is supported.
545*4882a593Smuzhiyun
546*4882a593SmuzhiyunModule snd-cs4236
547*4882a593Smuzhiyun-----------------
548*4882a593Smuzhiyun
549*4882a593SmuzhiyunModule for sound cards based on CS4232/CS4232A,
550*4882a593SmuzhiyunCS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 ISA chips.
551*4882a593Smuzhiyun
552*4882a593Smuzhiyunisapnp
553*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
554*4882a593Smuzhiyun
555*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
556*4882a593Smuzhiyun
557*4882a593Smuzhiyunport
558*4882a593Smuzhiyun    port # for CS4236 chip (PnP setup - 0x534)
559*4882a593Smuzhiyuncport
560*4882a593Smuzhiyun    control port # for CS4236 chip (PnP setup - 0x120,0x210,0xf00)
561*4882a593Smuzhiyunmpu_port
562*4882a593Smuzhiyun    port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
563*4882a593Smuzhiyunfm_port
564*4882a593Smuzhiyun    FM port # for CS4236 chip (PnP setup - 0x388), -1 = disable
565*4882a593Smuzhiyunirq
566*4882a593Smuzhiyun    IRQ # for CS4236 chip (5,7,9,11,12,15)
567*4882a593Smuzhiyunmpu_irq
568*4882a593Smuzhiyun    IRQ # for MPU-401 UART (9,11,12,15)
569*4882a593Smuzhiyundma1
570*4882a593Smuzhiyun    first DMA # for CS4236 chip (0,1,3)
571*4882a593Smuzhiyundma2
572*4882a593Smuzhiyun    second DMA # for CS4236 chip (0,1,3), -1 = disable
573*4882a593Smuzhiyun
574*4882a593SmuzhiyunThis module supports multiple cards. This module does not support autoprobe
575*4882a593Smuzhiyun(if ISA PnP is not used) thus main port and control port must be
576*4882a593Smuzhiyunspecified!!! Other ports are optional.
577*4882a593Smuzhiyun
578*4882a593SmuzhiyunThe power-management is supported.
579*4882a593Smuzhiyun
580*4882a593SmuzhiyunThis module is aliased as snd-cs4232 since it provides the old
581*4882a593Smuzhiyunsnd-cs4232 functionality, too.
582*4882a593Smuzhiyun
583*4882a593SmuzhiyunModule snd-cs4281
584*4882a593Smuzhiyun-----------------
585*4882a593Smuzhiyun
586*4882a593SmuzhiyunModule for Cirrus Logic CS4281 soundchip.
587*4882a593Smuzhiyun
588*4882a593Smuzhiyundual_codec
589*4882a593Smuzhiyun    Secondary codec ID (0 = disable, default)
590*4882a593Smuzhiyun
591*4882a593SmuzhiyunThis module supports multiple cards.
592*4882a593Smuzhiyun
593*4882a593SmuzhiyunThe power-management is supported.
594*4882a593Smuzhiyun
595*4882a593SmuzhiyunModule snd-cs46xx
596*4882a593Smuzhiyun-----------------
597*4882a593Smuzhiyun
598*4882a593SmuzhiyunModule for PCI sound cards based on CS4610/CS4612/CS4614/CS4615/CS4622/
599*4882a593SmuzhiyunCS4624/CS4630/CS4280 PCI chips.
600*4882a593Smuzhiyun
601*4882a593Smuzhiyunexternal_amp
602*4882a593Smuzhiyun    Force to enable external amplifier.
603*4882a593Smuzhiyunthinkpad
604*4882a593Smuzhiyun    Force to enable Thinkpad's CLKRUN control.
605*4882a593Smuzhiyunmmap_valid
606*4882a593Smuzhiyun    Support OSS mmap mode (default = 0).
607*4882a593Smuzhiyun
608*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
609*4882a593SmuzhiyunUsually external amp and CLKRUN controls are detected automatically
610*4882a593Smuzhiyunfrom PCI sub vendor/device ids.  If they don't work, give the options
611*4882a593Smuzhiyunabove explicitly.
612*4882a593Smuzhiyun
613*4882a593SmuzhiyunThe power-management is supported.
614*4882a593Smuzhiyun
615*4882a593SmuzhiyunModule snd-cs5530
616*4882a593Smuzhiyun-----------------
617*4882a593Smuzhiyun
618*4882a593SmuzhiyunModule for Cyrix/NatSemi Geode 5530 chip.
619*4882a593Smuzhiyun
620*4882a593SmuzhiyunModule snd-cs5535audio
621*4882a593Smuzhiyun----------------------
622*4882a593Smuzhiyun
623*4882a593SmuzhiyunModule for multifunction CS5535 companion PCI device
624*4882a593Smuzhiyun
625*4882a593SmuzhiyunThe power-management is supported.
626*4882a593Smuzhiyun
627*4882a593SmuzhiyunModule snd-ctxfi
628*4882a593Smuzhiyun----------------
629*4882a593Smuzhiyun
630*4882a593SmuzhiyunModule for Creative Sound Blaster X-Fi boards (20k1 / 20k2 chips)
631*4882a593Smuzhiyun
632*4882a593Smuzhiyun* Creative Sound Blaster X-Fi Titanium Fatal1ty Champion Series
633*4882a593Smuzhiyun* Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series
634*4882a593Smuzhiyun* Creative Sound Blaster X-Fi Titanium Professional Audio
635*4882a593Smuzhiyun* Creative Sound Blaster X-Fi Titanium
636*4882a593Smuzhiyun* Creative Sound Blaster X-Fi Elite Pro
637*4882a593Smuzhiyun* Creative Sound Blaster X-Fi Platinum
638*4882a593Smuzhiyun* Creative Sound Blaster X-Fi Fatal1ty
639*4882a593Smuzhiyun* Creative Sound Blaster X-Fi XtremeGamer
640*4882a593Smuzhiyun* Creative Sound Blaster X-Fi XtremeMusic
641*4882a593Smuzhiyun
642*4882a593Smuzhiyunreference_rate
643*4882a593Smuzhiyun    reference sample rate, 44100 or 48000 (default)
644*4882a593Smuzhiyunmultiple
645*4882a593Smuzhiyun    multiple to ref. sample rate, 1 or 2 (default)
646*4882a593Smuzhiyunsubsystem
647*4882a593Smuzhiyun    override the PCI SSID for probing;
648*4882a593Smuzhiyun    the value consists of SSVID << 16 | SSDID.
649*4882a593Smuzhiyun    The default is zero, which means no override.
650*4882a593Smuzhiyun
651*4882a593SmuzhiyunThis module supports multiple cards.
652*4882a593Smuzhiyun
653*4882a593SmuzhiyunModule snd-darla20
654*4882a593Smuzhiyun------------------
655*4882a593Smuzhiyun
656*4882a593SmuzhiyunModule for Echoaudio Darla20
657*4882a593Smuzhiyun
658*4882a593SmuzhiyunThis module supports multiple cards.
659*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
660*4882a593Smuzhiyun
661*4882a593SmuzhiyunModule snd-darla24
662*4882a593Smuzhiyun------------------
663*4882a593Smuzhiyun
664*4882a593SmuzhiyunModule for Echoaudio Darla24
665*4882a593Smuzhiyun
666*4882a593SmuzhiyunThis module supports multiple cards.
667*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
668*4882a593Smuzhiyun
669*4882a593SmuzhiyunModule snd-dt019x
670*4882a593Smuzhiyun-----------------
671*4882a593Smuzhiyun
672*4882a593SmuzhiyunModule for Diamond Technologies DT-019X / Avance Logic ALS-007 (PnP
673*4882a593Smuzhiyunonly)
674*4882a593Smuzhiyun
675*4882a593SmuzhiyunThis module supports multiple cards.  This module is enabled only with
676*4882a593SmuzhiyunISA PnP support.
677*4882a593Smuzhiyun
678*4882a593SmuzhiyunThe power-management is supported.
679*4882a593Smuzhiyun
680*4882a593SmuzhiyunModule snd-dummy
681*4882a593Smuzhiyun----------------
682*4882a593Smuzhiyun
683*4882a593SmuzhiyunModule for the dummy sound card. This "card" doesn't do any output
684*4882a593Smuzhiyunor input, but you may use this module for any application which
685*4882a593Smuzhiyunrequires a sound card (like RealPlayer).
686*4882a593Smuzhiyun
687*4882a593Smuzhiyunpcm_devs
688*4882a593Smuzhiyun    Number of PCM devices assigned to each card (default = 1, up to 4)
689*4882a593Smuzhiyunpcm_substreams
690*4882a593Smuzhiyun    Number of PCM substreams assigned to each PCM (default = 8, up to 128)
691*4882a593Smuzhiyunhrtimer
692*4882a593Smuzhiyun    Use hrtimer (=1, default) or system timer (=0)
693*4882a593Smuzhiyunfake_buffer
694*4882a593Smuzhiyun    Fake buffer allocations (default = 1)
695*4882a593Smuzhiyun
696*4882a593SmuzhiyunWhen multiple PCM devices are created, snd-dummy gives different
697*4882a593Smuzhiyunbehavior to each PCM device:
698*4882a593Smuzhiyun* 0 = interleaved with mmap support
699*4882a593Smuzhiyun* 1 = non-interleaved with mmap support
700*4882a593Smuzhiyun* 2 = interleaved without mmap
701*4882a593Smuzhiyun* 3 = non-interleaved without mmap
702*4882a593Smuzhiyun
703*4882a593SmuzhiyunAs default, snd-dummy drivers doesn't allocate the real buffers
704*4882a593Smuzhiyunbut either ignores read/write or mmap a single dummy page to all
705*4882a593Smuzhiyunbuffer pages, in order to save the resources.  If your apps need
706*4882a593Smuzhiyunthe read/ written buffer data to be consistent, pass fake_buffer=0
707*4882a593Smuzhiyunoption.
708*4882a593Smuzhiyun
709*4882a593SmuzhiyunThe power-management is supported.
710*4882a593Smuzhiyun
711*4882a593SmuzhiyunModule snd-echo3g
712*4882a593Smuzhiyun-----------------
713*4882a593Smuzhiyun
714*4882a593SmuzhiyunModule for Echoaudio 3G cards (Gina3G/Layla3G)
715*4882a593Smuzhiyun
716*4882a593SmuzhiyunThis module supports multiple cards.
717*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
718*4882a593Smuzhiyun
719*4882a593SmuzhiyunModule snd-emu10k1
720*4882a593Smuzhiyun------------------
721*4882a593Smuzhiyun
722*4882a593SmuzhiyunModule for EMU10K1/EMU10k2 based PCI sound cards.
723*4882a593Smuzhiyun
724*4882a593Smuzhiyun* Sound Blaster Live!
725*4882a593Smuzhiyun* Sound Blaster PCI 512
726*4882a593Smuzhiyun* Emu APS (partially supported)
727*4882a593Smuzhiyun* Sound Blaster Audigy
728*4882a593Smuzhiyun
729*4882a593Smuzhiyunextin
730*4882a593Smuzhiyun    bitmap of available external inputs for FX8010 (see bellow)
731*4882a593Smuzhiyunextout
732*4882a593Smuzhiyun    bitmap of available external outputs for FX8010 (see bellow)
733*4882a593Smuzhiyunseq_ports
734*4882a593Smuzhiyun    allocated sequencer ports (4 by default)
735*4882a593Smuzhiyunmax_synth_voices
736*4882a593Smuzhiyun    limit of voices used for wavetable (64 by default)
737*4882a593Smuzhiyunmax_buffer_size
738*4882a593Smuzhiyun    specifies the maximum size of wavetable/pcm buffers given in MB
739*4882a593Smuzhiyun    unit.  Default value is 128.
740*4882a593Smuzhiyunenable_ir
741*4882a593Smuzhiyun    enable IR
742*4882a593Smuzhiyun
743*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
744*4882a593Smuzhiyun
745*4882a593SmuzhiyunInput & Output configurations 			[extin/extout]
746*4882a593Smuzhiyun* Creative Card wo/Digital out			[0x0003/0x1f03]
747*4882a593Smuzhiyun* Creative Card w/Digital out			[0x0003/0x1f0f]
748*4882a593Smuzhiyun* Creative Card w/Digital CD in			[0x000f/0x1f0f]
749*4882a593Smuzhiyun* Creative Card wo/Digital out + LiveDrive	[0x3fc3/0x1fc3]
750*4882a593Smuzhiyun* Creative Card w/Digital out + LiveDrive	[0x3fc3/0x1fcf]
751*4882a593Smuzhiyun* Creative Card w/Digital CD in + LiveDrive	[0x3fcf/0x1fcf]
752*4882a593Smuzhiyun* Creative Card wo/Digital out + Digital I/O 2  [0x0fc3/0x1f0f]
753*4882a593Smuzhiyun* Creative Card w/Digital out + Digital I/O 2	[0x0fc3/0x1f0f]
754*4882a593Smuzhiyun* Creative Card w/Digital CD in + Digital I/O 2	[0x0fcf/0x1f0f]
755*4882a593Smuzhiyun* Creative Card 5.1/w Digital out + LiveDrive	[0x3fc3/0x1fff]
756*4882a593Smuzhiyun* Creative Card 5.1 (c) 2003			[0x3fc3/0x7cff]
757*4882a593Smuzhiyun* Creative Card all ins and outs		[0x3fff/0x7fff]
758*4882a593Smuzhiyun
759*4882a593SmuzhiyunThe power-management is supported.
760*4882a593Smuzhiyun
761*4882a593SmuzhiyunModule snd-emu10k1x
762*4882a593Smuzhiyun-------------------
763*4882a593Smuzhiyun
764*4882a593SmuzhiyunModule for Creative Emu10k1X (SB Live Dell OEM version)
765*4882a593Smuzhiyun
766*4882a593SmuzhiyunThis module supports multiple cards.
767*4882a593Smuzhiyun
768*4882a593SmuzhiyunModule snd-ens1370
769*4882a593Smuzhiyun------------------
770*4882a593Smuzhiyun
771*4882a593SmuzhiyunModule for Ensoniq AudioPCI ES1370 PCI sound cards.
772*4882a593Smuzhiyun
773*4882a593Smuzhiyun* SoundBlaster PCI 64
774*4882a593Smuzhiyun* SoundBlaster PCI 128
775*4882a593Smuzhiyun
776*4882a593Smuzhiyunjoystick
777*4882a593Smuzhiyun    Enable joystick (default off)
778*4882a593Smuzhiyun
779*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
780*4882a593Smuzhiyun
781*4882a593SmuzhiyunThe power-management is supported.
782*4882a593Smuzhiyun
783*4882a593SmuzhiyunModule snd-ens1371
784*4882a593Smuzhiyun------------------
785*4882a593Smuzhiyun
786*4882a593SmuzhiyunModule for Ensoniq AudioPCI ES1371 PCI sound cards.
787*4882a593Smuzhiyun
788*4882a593Smuzhiyun* SoundBlaster PCI 64
789*4882a593Smuzhiyun* SoundBlaster PCI 128
790*4882a593Smuzhiyun* SoundBlaster Vibra PCI
791*4882a593Smuzhiyun
792*4882a593Smuzhiyunjoystick_port
793*4882a593Smuzhiyun    port # for joystick (0x200,0x208,0x210,0x218), 0 = disable
794*4882a593Smuzhiyun    (default), 1 = auto-detect
795*4882a593Smuzhiyun
796*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
797*4882a593Smuzhiyun
798*4882a593SmuzhiyunThe power-management is supported.
799*4882a593Smuzhiyun
800*4882a593SmuzhiyunModule snd-es1688
801*4882a593Smuzhiyun-----------------
802*4882a593Smuzhiyun
803*4882a593SmuzhiyunModule for ESS AudioDrive ES-1688 and ES-688 sound cards.
804*4882a593Smuzhiyun
805*4882a593Smuzhiyunisapnp
806*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
807*4882a593Smuzhiyunmpu_port
808*4882a593Smuzhiyun    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
809*4882a593Smuzhiyunmpu_irq
810*4882a593Smuzhiyun    IRQ # for MPU-401 port (5,7,9,10)
811*4882a593Smuzhiyunfm_port
812*4882a593Smuzhiyun    port # for OPL3 (option; share the same port as default)
813*4882a593Smuzhiyun
814*4882a593Smuzhiyunwith ``isapnp=0``, the following additional options are available:
815*4882a593Smuzhiyun
816*4882a593Smuzhiyunport
817*4882a593Smuzhiyun    port # for ES-1688 chip (0x220,0x240,0x260)
818*4882a593Smuzhiyunirq
819*4882a593Smuzhiyun    IRQ # for ES-1688 chip (5,7,9,10)
820*4882a593Smuzhiyundma8
821*4882a593Smuzhiyun    DMA # for ES-1688 chip (0,1,3)
822*4882a593Smuzhiyun
823*4882a593SmuzhiyunThis module supports multiple cards and autoprobe (without MPU-401 port)
824*4882a593Smuzhiyunand PnP with the ES968 chip.
825*4882a593Smuzhiyun
826*4882a593SmuzhiyunModule snd-es18xx
827*4882a593Smuzhiyun-----------------
828*4882a593Smuzhiyun
829*4882a593SmuzhiyunModule for ESS AudioDrive ES-18xx sound cards.
830*4882a593Smuzhiyun
831*4882a593Smuzhiyunisapnp
832*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
833*4882a593Smuzhiyun
834*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
835*4882a593Smuzhiyun
836*4882a593Smuzhiyunport
837*4882a593Smuzhiyun    port # for ES-18xx chip (0x220,0x240,0x260)
838*4882a593Smuzhiyunmpu_port
839*4882a593Smuzhiyun    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable (default)
840*4882a593Smuzhiyunfm_port
841*4882a593Smuzhiyun    port # for FM (optional, not used)
842*4882a593Smuzhiyunirq
843*4882a593Smuzhiyun    IRQ # for ES-18xx chip (5,7,9,10)
844*4882a593Smuzhiyundma1
845*4882a593Smuzhiyun    first DMA # for ES-18xx chip (0,1,3)
846*4882a593Smuzhiyundma2
847*4882a593Smuzhiyun    first DMA # for ES-18xx chip (0,1,3)
848*4882a593Smuzhiyun
849*4882a593SmuzhiyunThis module supports multiple cards, ISA PnP and autoprobe (without MPU-401
850*4882a593Smuzhiyunport if native ISA PnP routines are not used).
851*4882a593SmuzhiyunWhen ``dma2`` is equal with ``dma1``, the driver works as half-duplex.
852*4882a593Smuzhiyun
853*4882a593SmuzhiyunThe power-management is supported.
854*4882a593Smuzhiyun
855*4882a593SmuzhiyunModule snd-es1938
856*4882a593Smuzhiyun-----------------
857*4882a593Smuzhiyun
858*4882a593SmuzhiyunModule for sound cards based on ESS Solo-1 (ES1938,ES1946) chips.
859*4882a593Smuzhiyun
860*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
861*4882a593Smuzhiyun
862*4882a593SmuzhiyunThe power-management is supported.
863*4882a593Smuzhiyun
864*4882a593SmuzhiyunModule snd-es1968
865*4882a593Smuzhiyun-----------------
866*4882a593Smuzhiyun
867*4882a593SmuzhiyunModule for sound cards based on ESS Maestro-1/2/2E (ES1968/ES1978) chips.
868*4882a593Smuzhiyun
869*4882a593Smuzhiyuntotal_bufsize
870*4882a593Smuzhiyun    total buffer size in kB (1-4096kB)
871*4882a593Smuzhiyunpcm_substreams_p
872*4882a593Smuzhiyun    playback channels (1-8, default=2)
873*4882a593Smuzhiyunpcm_substreams_c
874*4882a593Smuzhiyun    capture channels (1-8, default=0)
875*4882a593Smuzhiyunclock
876*4882a593Smuzhiyun    clock (0 = auto-detection)
877*4882a593Smuzhiyunuse_pm
878*4882a593Smuzhiyun    support the power-management (0 = off, 1 = on, 2 = auto (default))
879*4882a593Smuzhiyunenable_mpu
880*4882a593Smuzhiyun    enable MPU401 (0 = off, 1 = on, 2 = auto (default))
881*4882a593Smuzhiyunjoystick
882*4882a593Smuzhiyun    enable joystick (default off)
883*4882a593Smuzhiyun
884*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
885*4882a593Smuzhiyun
886*4882a593SmuzhiyunThe power-management is supported.
887*4882a593Smuzhiyun
888*4882a593SmuzhiyunModule snd-fm801
889*4882a593Smuzhiyun----------------
890*4882a593Smuzhiyun
891*4882a593SmuzhiyunModule for ForteMedia FM801 based PCI sound cards.
892*4882a593Smuzhiyun
893*4882a593Smuzhiyuntea575x_tuner
894*4882a593Smuzhiyun    Enable TEA575x tuner;
895*4882a593Smuzhiyun    1 = MediaForte 256-PCS,
896*4882a593Smuzhiyun    2 = MediaForte 256-PCPR,
897*4882a593Smuzhiyun    3 = MediaForte 64-PCR
898*4882a593Smuzhiyun    High 16-bits are video (radio) device number + 1;
899*4882a593Smuzhiyun    example: 0x10002 (MediaForte 256-PCPR, device 1)
900*4882a593Smuzhiyun
901*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
902*4882a593Smuzhiyun
903*4882a593SmuzhiyunThe power-management is supported.
904*4882a593Smuzhiyun
905*4882a593SmuzhiyunModule snd-gina20
906*4882a593Smuzhiyun-----------------
907*4882a593Smuzhiyun
908*4882a593SmuzhiyunModule for Echoaudio Gina20
909*4882a593Smuzhiyun
910*4882a593SmuzhiyunThis module supports multiple cards.
911*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
912*4882a593Smuzhiyun
913*4882a593SmuzhiyunModule snd-gina24
914*4882a593Smuzhiyun-----------------
915*4882a593Smuzhiyun
916*4882a593SmuzhiyunModule for Echoaudio Gina24
917*4882a593Smuzhiyun
918*4882a593SmuzhiyunThis module supports multiple cards.
919*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
920*4882a593Smuzhiyun
921*4882a593SmuzhiyunModule snd-gusclassic
922*4882a593Smuzhiyun---------------------
923*4882a593Smuzhiyun
924*4882a593SmuzhiyunModule for Gravis UltraSound Classic sound card.
925*4882a593Smuzhiyun
926*4882a593Smuzhiyunport
927*4882a593Smuzhiyun    port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
928*4882a593Smuzhiyunirq
929*4882a593Smuzhiyun    IRQ # for GF1 chip (3,5,9,11,12,15)
930*4882a593Smuzhiyundma1
931*4882a593Smuzhiyun    DMA # for GF1 chip (1,3,5,6,7)
932*4882a593Smuzhiyundma2
933*4882a593Smuzhiyun    DMA # for GF1 chip (1,3,5,6,7,-1=disable)
934*4882a593Smuzhiyunjoystick_dac
935*4882a593Smuzhiyun    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
936*4882a593Smuzhiyunvoices
937*4882a593Smuzhiyun    GF1 voices limit (14-32)
938*4882a593Smuzhiyunpcm_voices
939*4882a593Smuzhiyun    reserved PCM voices
940*4882a593Smuzhiyun
941*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
942*4882a593Smuzhiyun
943*4882a593SmuzhiyunModule snd-gusextreme
944*4882a593Smuzhiyun---------------------
945*4882a593Smuzhiyun
946*4882a593SmuzhiyunModule for Gravis UltraSound Extreme (Synergy ViperMax) sound card.
947*4882a593Smuzhiyun
948*4882a593Smuzhiyunport
949*4882a593Smuzhiyun    port # for ES-1688 chip (0x220,0x230,0x240,0x250,0x260)
950*4882a593Smuzhiyungf1_port
951*4882a593Smuzhiyun    port # for GF1 chip (0x210,0x220,0x230,0x240,0x250,0x260,0x270)
952*4882a593Smuzhiyunmpu_port
953*4882a593Smuzhiyun    port # for MPU-401 port (0x300,0x310,0x320,0x330), -1 = disable
954*4882a593Smuzhiyunirq
955*4882a593Smuzhiyun    IRQ # for ES-1688 chip (5,7,9,10)
956*4882a593Smuzhiyungf1_irq
957*4882a593Smuzhiyun    IRQ # for GF1 chip (3,5,9,11,12,15)
958*4882a593Smuzhiyunmpu_irq
959*4882a593Smuzhiyun    IRQ # for MPU-401 port (5,7,9,10)
960*4882a593Smuzhiyundma8
961*4882a593Smuzhiyun    DMA # for ES-1688 chip (0,1,3)
962*4882a593Smuzhiyundma1
963*4882a593Smuzhiyun    DMA # for GF1 chip (1,3,5,6,7)
964*4882a593Smuzhiyunjoystick_dac
965*4882a593Smuzhiyun    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
966*4882a593Smuzhiyunvoices
967*4882a593Smuzhiyun    GF1 voices limit (14-32)
968*4882a593Smuzhiyunpcm_voices
969*4882a593Smuzhiyun    reserved PCM voices
970*4882a593Smuzhiyun
971*4882a593SmuzhiyunThis module supports multiple cards and autoprobe (without MPU-401 port).
972*4882a593Smuzhiyun
973*4882a593SmuzhiyunModule snd-gusmax
974*4882a593Smuzhiyun-----------------
975*4882a593Smuzhiyun
976*4882a593SmuzhiyunModule for Gravis UltraSound MAX sound card.
977*4882a593Smuzhiyun
978*4882a593Smuzhiyunport
979*4882a593Smuzhiyun    port # for GF1 chip (0x220,0x230,0x240,0x250,0x260)
980*4882a593Smuzhiyunirq
981*4882a593Smuzhiyun    IRQ # for GF1 chip (3,5,9,11,12,15)
982*4882a593Smuzhiyundma1
983*4882a593Smuzhiyun    DMA # for GF1 chip (1,3,5,6,7)
984*4882a593Smuzhiyundma2
985*4882a593Smuzhiyun    DMA # for GF1 chip (1,3,5,6,7,-1=disable)
986*4882a593Smuzhiyunjoystick_dac
987*4882a593Smuzhiyun    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
988*4882a593Smuzhiyunvoices
989*4882a593Smuzhiyun    GF1 voices limit (14-32)
990*4882a593Smuzhiyunpcm_voices
991*4882a593Smuzhiyun    reserved PCM voices
992*4882a593Smuzhiyun
993*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
994*4882a593Smuzhiyun
995*4882a593SmuzhiyunModule snd-hda-intel
996*4882a593Smuzhiyun--------------------
997*4882a593Smuzhiyun
998*4882a593SmuzhiyunModule for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10,
999*4882a593SmuzhiyunPCH, SCH), ATI SB450, SB600, R600, RS600, RS690, RS780, RV610, RV620,
1000*4882a593SmuzhiyunRV630, RV635, RV670, RV770, VIA VT8251/VT8237A, SIS966, ULI M5461
1001*4882a593Smuzhiyun
1002*4882a593Smuzhiyun[Multiple options for each card instance]
1003*4882a593Smuzhiyun
1004*4882a593Smuzhiyunmodel
1005*4882a593Smuzhiyun    force the model name
1006*4882a593Smuzhiyunposition_fix
1007*4882a593Smuzhiyun    Fix DMA pointer;
1008*4882a593Smuzhiyun    -1 = system default: choose appropriate one per controller hardware,
1009*4882a593Smuzhiyun    0 = auto: falls back to LPIB when POSBUF doesn't work,
1010*4882a593Smuzhiyun    1 = use LPIB,
1011*4882a593Smuzhiyun    2 = POSBUF: use position buffer,
1012*4882a593Smuzhiyun    3 = VIACOMBO: VIA-specific workaround for capture,
1013*4882a593Smuzhiyun    4 = COMBO: use LPIB for playback, auto for capture stream
1014*4882a593Smuzhiyun    5 = SKL+: apply the delay calculation available on recent Intel chips
1015*4882a593Smuzhiyun    6 = FIFO: correct the position with the fixed FIFO size, for recent AMD chips
1016*4882a593Smuzhiyunprobe_mask
1017*4882a593Smuzhiyun    Bitmask to probe codecs (default = -1, meaning all slots);
1018*4882a593Smuzhiyun    When the bit 8 (0x100) is set, the lower 8 bits are used
1019*4882a593Smuzhiyun    as the "fixed" codec slots; i.e. the driver probes the
1020*4882a593Smuzhiyun    slots regardless what hardware reports back
1021*4882a593Smuzhiyunprobe_only
1022*4882a593Smuzhiyun    Only probing and no codec initialization (default=off);
1023*4882a593Smuzhiyun    Useful to check the initial codec status for debugging
1024*4882a593Smuzhiyunbdl_pos_adj
1025*4882a593Smuzhiyun    Specifies the DMA IRQ timing delay in samples.
1026*4882a593Smuzhiyun    Passing -1 will make the driver to choose the appropriate
1027*4882a593Smuzhiyun    value based on the controller chip.
1028*4882a593Smuzhiyunpatch
1029*4882a593Smuzhiyun    Specifies the early "patch" files to modify the HD-audio setup
1030*4882a593Smuzhiyun    before initializing the codecs.
1031*4882a593Smuzhiyun    This option is available only when ``CONFIG_SND_HDA_PATCH_LOADER=y``
1032*4882a593Smuzhiyun    is set.  See hd-audio/notes.rst for details.
1033*4882a593Smuzhiyunbeep_mode
1034*4882a593Smuzhiyun    Selects the beep registration mode (0=off, 1=on);
1035*4882a593Smuzhiyun    default value is set via ``CONFIG_SND_HDA_INPUT_BEEP_MODE`` kconfig.
1036*4882a593Smuzhiyun
1037*4882a593Smuzhiyun[Single (global) options]
1038*4882a593Smuzhiyun
1039*4882a593Smuzhiyunsingle_cmd
1040*4882a593Smuzhiyun    Use single immediate commands to communicate with codecs
1041*4882a593Smuzhiyun    (for debugging only)
1042*4882a593Smuzhiyunenable_msi
1043*4882a593Smuzhiyun    Enable Message Signaled Interrupt (MSI) (default = off)
1044*4882a593Smuzhiyunpower_save
1045*4882a593Smuzhiyun    Automatic power-saving timeout (in second, 0 = disable)
1046*4882a593Smuzhiyunpower_save_controller
1047*4882a593Smuzhiyun    Reset HD-audio controller in power-saving mode (default = on)
1048*4882a593Smuzhiyunalign_buffer_size
1049*4882a593Smuzhiyun    Force rounding of buffer/period sizes to multiples of 128 bytes.
1050*4882a593Smuzhiyun    This is more efficient in terms of memory access but isn't
1051*4882a593Smuzhiyun    required by the HDA spec and prevents users from specifying
1052*4882a593Smuzhiyun    exact period/buffer sizes. (default = on)
1053*4882a593Smuzhiyunsnoop
1054*4882a593Smuzhiyun    Enable/disable snooping (default = on)
1055*4882a593Smuzhiyun
1056*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
1057*4882a593Smuzhiyun
1058*4882a593SmuzhiyunSee hd-audio/notes.rst for more details about HD-audio driver.
1059*4882a593Smuzhiyun
1060*4882a593SmuzhiyunEach codec may have a model table for different configurations.
1061*4882a593SmuzhiyunIf your machine isn't listed there, the default (usually minimal)
1062*4882a593Smuzhiyunconfiguration is set up.  You can pass ``model=<name>`` option to
1063*4882a593Smuzhiyunspecify a certain model in such a case.  There are different
1064*4882a593Smuzhiyunmodels depending on the codec chip.  The list of available models
1065*4882a593Smuzhiyunis found in hd-audio/models.rst.
1066*4882a593Smuzhiyun
1067*4882a593SmuzhiyunThe model name ``generic`` is treated as a special case.  When this
1068*4882a593Smuzhiyunmodel is given, the driver uses the generic codec parser without
1069*4882a593Smuzhiyun"codec-patch".  It's sometimes good for testing and debugging.
1070*4882a593Smuzhiyun
1071*4882a593SmuzhiyunIf the default configuration doesn't work and one of the above
1072*4882a593Smuzhiyunmatches with your device, report it together with alsa-info.sh
1073*4882a593Smuzhiyunoutput (with ``--no-upload`` option) to kernel bugzilla or alsa-devel
1074*4882a593SmuzhiyunML (see the section `Links and Addresses`_).
1075*4882a593Smuzhiyun
1076*4882a593Smuzhiyun``power_save`` and ``power_save_controller`` options are for power-saving
1077*4882a593Smuzhiyunmode.  See powersave.rst for details.
1078*4882a593Smuzhiyun
1079*4882a593SmuzhiyunNote 2: If you get click noises on output, try the module option
1080*4882a593Smuzhiyun``position_fix=1`` or ``2``.  ``position_fix=1`` will use the SD_LPIB
1081*4882a593Smuzhiyunregister value without FIFO size correction as the current
1082*4882a593SmuzhiyunDMA pointer.  ``position_fix=2`` will make the driver to use
1083*4882a593Smuzhiyunthe position buffer instead of reading SD_LPIB register.
1084*4882a593Smuzhiyun(Usually SD_LPIB register is more accurate than the
1085*4882a593Smuzhiyunposition buffer.)
1086*4882a593Smuzhiyun
1087*4882a593Smuzhiyun``position_fix=3`` is specific to VIA devices.  The position
1088*4882a593Smuzhiyunof the capture stream is checked from both LPIB and POSBUF
1089*4882a593Smuzhiyunvalues.  ``position_fix=4`` is a combination mode, using LPIB
1090*4882a593Smuzhiyunfor playback and POSBUF for capture.
1091*4882a593Smuzhiyun
1092*4882a593SmuzhiyunNB: If you get many ``azx_get_response timeout`` messages at
1093*4882a593Smuzhiyunloading, it's likely a problem of interrupts (e.g. ACPI irq
1094*4882a593Smuzhiyunrouting).  Try to boot with options like ``pci=noacpi``.  Also, you
1095*4882a593Smuzhiyuncan try ``single_cmd=1`` module option.  This will switch the
1096*4882a593Smuzhiyuncommunication method between HDA controller and codecs to the
1097*4882a593Smuzhiyunsingle immediate commands instead of CORB/RIRB.  Basically, the
1098*4882a593Smuzhiyunsingle command mode is provided only for BIOS, and you won't get
1099*4882a593Smuzhiyununsolicited events, too.  But, at least, this works independently
1100*4882a593Smuzhiyunfrom the irq.  Remember this is a last resort, and should be
1101*4882a593Smuzhiyunavoided as much as possible...
1102*4882a593Smuzhiyun
1103*4882a593SmuzhiyunMORE NOTES ON ``azx_get_response timeout`` PROBLEMS:
1104*4882a593SmuzhiyunOn some hardware, you may need to add a proper probe_mask option
1105*4882a593Smuzhiyunto avoid the ``azx_get_response timeout`` problem above, instead.
1106*4882a593SmuzhiyunThis occurs when the access to non-existing or non-working codec slot
1107*4882a593Smuzhiyun(likely a modem one) causes a stall of the communication via HD-audio
1108*4882a593Smuzhiyunbus.  You can see which codec slots are probed by enabling
1109*4882a593Smuzhiyun``CONFIG_SND_DEBUG_VERBOSE``, or simply from the file name of the codec
1110*4882a593Smuzhiyunproc files.  Then limit the slots to probe by probe_mask option.
1111*4882a593SmuzhiyunFor example, ``probe_mask=1`` means to probe only the first slot, and
1112*4882a593Smuzhiyun``probe_mask=4`` means only the third slot.
1113*4882a593Smuzhiyun
1114*4882a593SmuzhiyunThe power-management is supported.
1115*4882a593Smuzhiyun
1116*4882a593SmuzhiyunModule snd-hdsp
1117*4882a593Smuzhiyun---------------
1118*4882a593Smuzhiyun
1119*4882a593SmuzhiyunModule for RME Hammerfall DSP audio interface(s)
1120*4882a593Smuzhiyun
1121*4882a593SmuzhiyunThis module supports multiple cards.
1122*4882a593Smuzhiyun
1123*4882a593SmuzhiyunNote: The firmware data can be automatically loaded via hotplug
1124*4882a593Smuzhiyunwhen ``CONFIG_FW_LOADER`` is set.  Otherwise, you need to load
1125*4882a593Smuzhiyunthe firmware via hdsploader utility included in alsa-tools
1126*4882a593Smuzhiyunpackage.
1127*4882a593SmuzhiyunThe firmware data is found in alsa-firmware package.
1128*4882a593Smuzhiyun
1129*4882a593SmuzhiyunNote: snd-page-alloc module does the job which snd-hammerfall-mem
1130*4882a593Smuzhiyunmodule did formerly.  It will allocate the buffers in advance
1131*4882a593Smuzhiyunwhen any HDSP cards are found.  To make the buffer
1132*4882a593Smuzhiyunallocation sure, load snd-page-alloc module in the early
1133*4882a593Smuzhiyunstage of boot sequence.  See `Early Buffer Allocation`_
1134*4882a593Smuzhiyunsection.
1135*4882a593Smuzhiyun
1136*4882a593SmuzhiyunModule snd-hdspm
1137*4882a593Smuzhiyun----------------
1138*4882a593Smuzhiyun
1139*4882a593SmuzhiyunModule for RME HDSP MADI board.
1140*4882a593Smuzhiyun
1141*4882a593Smuzhiyunprecise_ptr
1142*4882a593Smuzhiyun    Enable precise pointer, or disable.
1143*4882a593Smuzhiyunline_outs_monitor
1144*4882a593Smuzhiyun    Send playback streams to analog outs by default.
1145*4882a593Smuzhiyunenable_monitor
1146*4882a593Smuzhiyun    Enable Analog Out on Channel 63/64 by default.
1147*4882a593Smuzhiyun
1148*4882a593SmuzhiyunSee hdspm.rst for details.
1149*4882a593Smuzhiyun
1150*4882a593SmuzhiyunModule snd-ice1712
1151*4882a593Smuzhiyun------------------
1152*4882a593Smuzhiyun
1153*4882a593SmuzhiyunModule for Envy24 (ICE1712) based PCI sound cards.
1154*4882a593Smuzhiyun
1155*4882a593Smuzhiyun* MidiMan M Audio Delta 1010
1156*4882a593Smuzhiyun* MidiMan M Audio Delta 1010LT
1157*4882a593Smuzhiyun* MidiMan M Audio Delta DiO 2496
1158*4882a593Smuzhiyun* MidiMan M Audio Delta 66
1159*4882a593Smuzhiyun* MidiMan M Audio Delta 44
1160*4882a593Smuzhiyun* MidiMan M Audio Delta 410
1161*4882a593Smuzhiyun* MidiMan M Audio Audiophile 2496
1162*4882a593Smuzhiyun* TerraTec EWS 88MT
1163*4882a593Smuzhiyun* TerraTec EWS 88D
1164*4882a593Smuzhiyun* TerraTec EWX 24/96
1165*4882a593Smuzhiyun* TerraTec DMX 6Fire
1166*4882a593Smuzhiyun* TerraTec Phase 88
1167*4882a593Smuzhiyun* Hoontech SoundTrack DSP 24
1168*4882a593Smuzhiyun* Hoontech SoundTrack DSP 24 Value
1169*4882a593Smuzhiyun* Hoontech SoundTrack DSP 24 Media 7.1
1170*4882a593Smuzhiyun* Event Electronics, EZ8
1171*4882a593Smuzhiyun* Digigram VX442
1172*4882a593Smuzhiyun* Lionstracs, Mediastaton
1173*4882a593Smuzhiyun* Terrasoniq TS 88
1174*4882a593Smuzhiyun
1175*4882a593Smuzhiyunmodel
1176*4882a593Smuzhiyun    Use the given board model, one of the following:
1177*4882a593Smuzhiyun    delta1010, dio2496, delta66, delta44, audiophile, delta410,
1178*4882a593Smuzhiyun    delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d,
1179*4882a593Smuzhiyun    dmx6fire, dsp24, dsp24_value, dsp24_71, ez8,
1180*4882a593Smuzhiyun    phase88, mediastation
1181*4882a593Smuzhiyunomni
1182*4882a593Smuzhiyun    Omni I/O support for MidiMan M-Audio Delta44/66
1183*4882a593Smuzhiyuncs8427_timeout
1184*4882a593Smuzhiyun    reset timeout for the CS8427 chip (S/PDIF transceiver) in msec
1185*4882a593Smuzhiyun    resolution, default value is 500 (0.5 sec)
1186*4882a593Smuzhiyun
1187*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
1188*4882a593SmuzhiyunNote: The consumer part is not used with all Envy24 based cards (for
1189*4882a593Smuzhiyunexample in the MidiMan Delta siree).
1190*4882a593Smuzhiyun
1191*4882a593SmuzhiyunNote: The supported board is detected by reading EEPROM or PCI
1192*4882a593SmuzhiyunSSID (if EEPROM isn't available).  You can override the
1193*4882a593Smuzhiyunmodel by passing ``model`` module option in case that the
1194*4882a593Smuzhiyundriver isn't configured properly or you want to try another
1195*4882a593Smuzhiyuntype for testing.
1196*4882a593Smuzhiyun
1197*4882a593SmuzhiyunModule snd-ice1724
1198*4882a593Smuzhiyun------------------
1199*4882a593Smuzhiyun
1200*4882a593SmuzhiyunModule for Envy24HT (VT/ICE1724), Envy24PT (VT1720) based PCI sound cards.
1201*4882a593Smuzhiyun
1202*4882a593Smuzhiyun* MidiMan M Audio Revolution 5.1
1203*4882a593Smuzhiyun* MidiMan M Audio Revolution 7.1
1204*4882a593Smuzhiyun* MidiMan M Audio Audiophile 192
1205*4882a593Smuzhiyun* AMP Ltd AUDIO2000
1206*4882a593Smuzhiyun* TerraTec Aureon 5.1 Sky
1207*4882a593Smuzhiyun* TerraTec Aureon 7.1 Space
1208*4882a593Smuzhiyun* TerraTec Aureon 7.1 Universe
1209*4882a593Smuzhiyun* TerraTec Phase 22
1210*4882a593Smuzhiyun* TerraTec Phase 28
1211*4882a593Smuzhiyun* AudioTrak Prodigy 7.1
1212*4882a593Smuzhiyun* AudioTrak Prodigy 7.1 LT
1213*4882a593Smuzhiyun* AudioTrak Prodigy 7.1 XT
1214*4882a593Smuzhiyun* AudioTrak Prodigy 7.1 HIFI
1215*4882a593Smuzhiyun* AudioTrak Prodigy 7.1 HD2
1216*4882a593Smuzhiyun* AudioTrak Prodigy 192
1217*4882a593Smuzhiyun* Pontis MS300
1218*4882a593Smuzhiyun* Albatron K8X800 Pro II
1219*4882a593Smuzhiyun* Chaintech ZNF3-150
1220*4882a593Smuzhiyun* Chaintech ZNF3-250
1221*4882a593Smuzhiyun* Chaintech 9CJS
1222*4882a593Smuzhiyun* Chaintech AV-710
1223*4882a593Smuzhiyun* Shuttle SN25P
1224*4882a593Smuzhiyun* Onkyo SE-90PCI
1225*4882a593Smuzhiyun* Onkyo SE-200PCI
1226*4882a593Smuzhiyun* ESI Juli@
1227*4882a593Smuzhiyun* ESI Maya44
1228*4882a593Smuzhiyun* Hercules Fortissimo IV
1229*4882a593Smuzhiyun* EGO-SYS WaveTerminal 192M
1230*4882a593Smuzhiyun
1231*4882a593Smuzhiyunmodel
1232*4882a593Smuzhiyun    Use the given board model, one of the following:
1233*4882a593Smuzhiyun    revo51, revo71, amp2000, prodigy71, prodigy71lt,
1234*4882a593Smuzhiyun    prodigy71xt, prodigy71hifi, prodigyhd2, prodigy192,
1235*4882a593Smuzhiyun    juli, aureon51, aureon71, universe, ap192, k8x800,
1236*4882a593Smuzhiyun    phase22, phase28, ms300, av710, se200pci, se90pci,
1237*4882a593Smuzhiyun    fortissimo4, sn25p, WT192M, maya44
1238*4882a593Smuzhiyun
1239*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
1240*4882a593Smuzhiyun
1241*4882a593SmuzhiyunNote: The supported board is detected by reading EEPROM or PCI
1242*4882a593SmuzhiyunSSID (if EEPROM isn't available).  You can override the
1243*4882a593Smuzhiyunmodel by passing ``model`` module option in case that the
1244*4882a593Smuzhiyundriver isn't configured properly or you want to try another
1245*4882a593Smuzhiyuntype for testing.
1246*4882a593Smuzhiyun
1247*4882a593SmuzhiyunModule snd-indigo
1248*4882a593Smuzhiyun-----------------
1249*4882a593Smuzhiyun
1250*4882a593SmuzhiyunModule for Echoaudio Indigo
1251*4882a593Smuzhiyun
1252*4882a593SmuzhiyunThis module supports multiple cards.
1253*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
1254*4882a593Smuzhiyun
1255*4882a593SmuzhiyunModule snd-indigodj
1256*4882a593Smuzhiyun-------------------
1257*4882a593Smuzhiyun
1258*4882a593SmuzhiyunModule for Echoaudio Indigo DJ
1259*4882a593Smuzhiyun
1260*4882a593SmuzhiyunThis module supports multiple cards.
1261*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
1262*4882a593Smuzhiyun
1263*4882a593SmuzhiyunModule snd-indigoio
1264*4882a593Smuzhiyun-------------------
1265*4882a593Smuzhiyun
1266*4882a593SmuzhiyunModule for Echoaudio Indigo IO
1267*4882a593Smuzhiyun
1268*4882a593SmuzhiyunThis module supports multiple cards.
1269*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
1270*4882a593Smuzhiyun
1271*4882a593SmuzhiyunModule snd-intel8x0
1272*4882a593Smuzhiyun-------------------
1273*4882a593Smuzhiyun
1274*4882a593SmuzhiyunModule for AC'97 motherboards from Intel and compatibles.
1275*4882a593Smuzhiyun
1276*4882a593Smuzhiyun* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7,
1277*4882a593Smuzhiyun  6300ESB, ESB2
1278*4882a593Smuzhiyun* SiS 7012 (SiS 735)
1279*4882a593Smuzhiyun* NVidia NForce, NForce2, NForce3, MCP04, CK804 CK8, CK8S, MCP501
1280*4882a593Smuzhiyun* AMD AMD768, AMD8111
1281*4882a593Smuzhiyun* ALi m5455
1282*4882a593Smuzhiyun
1283*4882a593Smuzhiyunac97_clock
1284*4882a593Smuzhiyun    AC'97 codec clock base (0 = auto-detect)
1285*4882a593Smuzhiyunac97_quirk
1286*4882a593Smuzhiyun    AC'97 workaround for strange hardware;
1287*4882a593Smuzhiyun    See `AC97 Quirk Option`_ section below.
1288*4882a593Smuzhiyunbuggy_irq
1289*4882a593Smuzhiyun    Enable workaround for buggy interrupts on some motherboards
1290*4882a593Smuzhiyun    (default yes on nForce chips, otherwise off)
1291*4882a593Smuzhiyunbuggy_semaphore
1292*4882a593Smuzhiyun    Enable workaround for hardware with buggy semaphores (e.g. on some
1293*4882a593Smuzhiyun    ASUS laptops) (default off)
1294*4882a593Smuzhiyunspdif_aclink
1295*4882a593Smuzhiyun    Use S/PDIF over AC-link instead of direct connection from the
1296*4882a593Smuzhiyun    controller chip (0 = off, 1 = on, -1 = default)
1297*4882a593Smuzhiyun
1298*4882a593SmuzhiyunThis module supports one chip and autoprobe.
1299*4882a593Smuzhiyun
1300*4882a593SmuzhiyunNote: the latest driver supports auto-detection of chip clock.
1301*4882a593Smuzhiyunif you still encounter too fast playback, specify the clock
1302*4882a593Smuzhiyunexplicitly via the module option ``ac97_clock=41194``.
1303*4882a593Smuzhiyun
1304*4882a593SmuzhiyunJoystick/MIDI ports are not supported by this driver.  If your
1305*4882a593Smuzhiyunmotherboard has these devices, use the ns558 or snd-mpu401
1306*4882a593Smuzhiyunmodules, respectively.
1307*4882a593Smuzhiyun
1308*4882a593SmuzhiyunThe power-management is supported.
1309*4882a593Smuzhiyun
1310*4882a593SmuzhiyunModule snd-intel8x0m
1311*4882a593Smuzhiyun--------------------
1312*4882a593Smuzhiyun
1313*4882a593SmuzhiyunModule for Intel ICH (i8x0) chipset MC97 modems.
1314*4882a593Smuzhiyun
1315*4882a593Smuzhiyun* Intel i810/810E, i815, i820, i830, i84x, MX440 ICH5, ICH6, ICH7
1316*4882a593Smuzhiyun* SiS 7013 (SiS 735)
1317*4882a593Smuzhiyun* NVidia NForce, NForce2, NForce2s, NForce3
1318*4882a593Smuzhiyun* AMD AMD8111
1319*4882a593Smuzhiyun* ALi m5455
1320*4882a593Smuzhiyun
1321*4882a593Smuzhiyunac97_clock
1322*4882a593Smuzhiyun    AC'97 codec clock base (0 = auto-detect)
1323*4882a593Smuzhiyun
1324*4882a593SmuzhiyunThis module supports one card and autoprobe.
1325*4882a593Smuzhiyun
1326*4882a593SmuzhiyunNote: The default index value of this module is -2, i.e. the first
1327*4882a593Smuzhiyunslot is excluded.
1328*4882a593Smuzhiyun
1329*4882a593SmuzhiyunThe power-management is supported.
1330*4882a593Smuzhiyun
1331*4882a593SmuzhiyunModule snd-interwave
1332*4882a593Smuzhiyun--------------------
1333*4882a593Smuzhiyun
1334*4882a593SmuzhiyunModule for Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32
1335*4882a593Smuzhiyunand other sound cards based on AMD InterWave (tm) chip.
1336*4882a593Smuzhiyun
1337*4882a593Smuzhiyunjoystick_dac
1338*4882a593Smuzhiyun    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1339*4882a593Smuzhiyunmidi
1340*4882a593Smuzhiyun    1 = MIDI UART enable, 0 = MIDI UART disable (default)
1341*4882a593Smuzhiyunpcm_voices
1342*4882a593Smuzhiyun    reserved PCM voices for the synthesizer (default 2)
1343*4882a593Smuzhiyuneffect
1344*4882a593Smuzhiyun    1 = InterWave effects enable (default 0); requires 8 voices
1345*4882a593Smuzhiyunisapnp
1346*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1347*4882a593Smuzhiyun
1348*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
1349*4882a593Smuzhiyun
1350*4882a593Smuzhiyunport
1351*4882a593Smuzhiyun    port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1352*4882a593Smuzhiyunirq
1353*4882a593Smuzhiyun    IRQ # for InterWave chip (3,5,9,11,12,15)
1354*4882a593Smuzhiyundma1
1355*4882a593Smuzhiyun    DMA # for InterWave chip (0,1,3,5,6,7)
1356*4882a593Smuzhiyundma2
1357*4882a593Smuzhiyun    DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1358*4882a593Smuzhiyun
1359*4882a593SmuzhiyunThis module supports multiple cards, autoprobe and ISA PnP.
1360*4882a593Smuzhiyun
1361*4882a593SmuzhiyunModule snd-interwave-stb
1362*4882a593Smuzhiyun------------------------
1363*4882a593Smuzhiyun
1364*4882a593SmuzhiyunModule for UltraSound 32-Pro (sound card from STB used by Compaq)
1365*4882a593Smuzhiyunand other sound cards based on AMD InterWave (tm) chip with TEA6330T
1366*4882a593Smuzhiyuncircuit for extended control of bass, treble and master volume.
1367*4882a593Smuzhiyun
1368*4882a593Smuzhiyunjoystick_dac
1369*4882a593Smuzhiyun    0 to 31, (0.59V-4.52V or 0.389V-2.98V)
1370*4882a593Smuzhiyunmidi
1371*4882a593Smuzhiyun    1 = MIDI UART enable, 0 = MIDI UART disable (default)
1372*4882a593Smuzhiyunpcm_voices
1373*4882a593Smuzhiyun    reserved PCM voices for the synthesizer (default 2)
1374*4882a593Smuzhiyuneffect
1375*4882a593Smuzhiyun    1 = InterWave effects enable (default 0); requires 8 voices
1376*4882a593Smuzhiyunisapnp
1377*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1378*4882a593Smuzhiyun
1379*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
1380*4882a593Smuzhiyun
1381*4882a593Smuzhiyunport
1382*4882a593Smuzhiyun    port # for InterWave chip (0x210,0x220,0x230,0x240,0x250,0x260)
1383*4882a593Smuzhiyunport_tc
1384*4882a593Smuzhiyun    tone control (i2c bus) port # for TEA6330T chip (0x350,0x360,0x370,0x380)
1385*4882a593Smuzhiyunirq
1386*4882a593Smuzhiyun    IRQ # for InterWave chip (3,5,9,11,12,15)
1387*4882a593Smuzhiyundma1
1388*4882a593Smuzhiyun    DMA # for InterWave chip (0,1,3,5,6,7)
1389*4882a593Smuzhiyundma2
1390*4882a593Smuzhiyun    DMA # for InterWave chip (0,1,3,5,6,7,-1=disable)
1391*4882a593Smuzhiyun
1392*4882a593SmuzhiyunThis module supports multiple cards, autoprobe and ISA PnP.
1393*4882a593Smuzhiyun
1394*4882a593SmuzhiyunModule snd-jazz16
1395*4882a593Smuzhiyun-------------------
1396*4882a593Smuzhiyun
1397*4882a593SmuzhiyunModule for Media Vision Jazz16 chipset. The chipset consists of 3 chips:
1398*4882a593SmuzhiyunMVD1216 + MVA416 + MVA514.
1399*4882a593Smuzhiyun
1400*4882a593Smuzhiyunport
1401*4882a593Smuzhiyun    port # for SB DSP chip (0x210,0x220,0x230,0x240,0x250,0x260)
1402*4882a593Smuzhiyunirq
1403*4882a593Smuzhiyun    IRQ # for SB DSP chip (3,5,7,9,10,15)
1404*4882a593Smuzhiyundma8
1405*4882a593Smuzhiyun    DMA # for SB DSP chip (1,3)
1406*4882a593Smuzhiyundma16
1407*4882a593Smuzhiyun    DMA # for SB DSP chip (5,7)
1408*4882a593Smuzhiyunmpu_port
1409*4882a593Smuzhiyun    MPU-401 port # (0x300,0x310,0x320,0x330)
1410*4882a593Smuzhiyunmpu_irq
1411*4882a593Smuzhiyun    MPU-401 irq # (2,3,5,7)
1412*4882a593Smuzhiyun
1413*4882a593SmuzhiyunThis module supports multiple cards.
1414*4882a593Smuzhiyun
1415*4882a593SmuzhiyunModule snd-korg1212
1416*4882a593Smuzhiyun-------------------
1417*4882a593Smuzhiyun
1418*4882a593SmuzhiyunModule for Korg 1212 IO PCI card
1419*4882a593Smuzhiyun
1420*4882a593SmuzhiyunThis module supports multiple cards.
1421*4882a593Smuzhiyun
1422*4882a593SmuzhiyunModule snd-layla20
1423*4882a593Smuzhiyun------------------
1424*4882a593Smuzhiyun
1425*4882a593SmuzhiyunModule for Echoaudio Layla20
1426*4882a593Smuzhiyun
1427*4882a593SmuzhiyunThis module supports multiple cards.
1428*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
1429*4882a593Smuzhiyun
1430*4882a593SmuzhiyunModule snd-layla24
1431*4882a593Smuzhiyun------------------
1432*4882a593Smuzhiyun
1433*4882a593SmuzhiyunModule for Echoaudio Layla24
1434*4882a593Smuzhiyun
1435*4882a593SmuzhiyunThis module supports multiple cards.
1436*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
1437*4882a593Smuzhiyun
1438*4882a593SmuzhiyunModule snd-lola
1439*4882a593Smuzhiyun---------------
1440*4882a593Smuzhiyun
1441*4882a593SmuzhiyunModule for Digigram Lola PCI-e boards
1442*4882a593Smuzhiyun
1443*4882a593SmuzhiyunThis module supports multiple cards.
1444*4882a593Smuzhiyun
1445*4882a593SmuzhiyunModule snd-lx6464es
1446*4882a593Smuzhiyun-------------------
1447*4882a593Smuzhiyun
1448*4882a593SmuzhiyunModule for Digigram LX6464ES boards
1449*4882a593Smuzhiyun
1450*4882a593SmuzhiyunThis module supports multiple cards.
1451*4882a593Smuzhiyun
1452*4882a593SmuzhiyunModule snd-maestro3
1453*4882a593Smuzhiyun-------------------
1454*4882a593Smuzhiyun
1455*4882a593SmuzhiyunModule for Allegro/Maestro3 chips
1456*4882a593Smuzhiyun
1457*4882a593Smuzhiyunexternal_amp
1458*4882a593Smuzhiyun    enable external amp (enabled by default)
1459*4882a593Smuzhiyunamp_gpio
1460*4882a593Smuzhiyun    GPIO pin number for external amp (0-15) or -1 for default pin (8
1461*4882a593Smuzhiyun    for allegro, 1 for others)
1462*4882a593Smuzhiyun
1463*4882a593SmuzhiyunThis module supports autoprobe and multiple chips.
1464*4882a593Smuzhiyun
1465*4882a593SmuzhiyunNote: the binding of amplifier is dependent on hardware.
1466*4882a593SmuzhiyunIf there is no sound even though all channels are unmuted, try to
1467*4882a593Smuzhiyunspecify other gpio connection via amp_gpio option.
1468*4882a593SmuzhiyunFor example, a Panasonic notebook might need ``amp_gpio=0x0d``
1469*4882a593Smuzhiyunoption.
1470*4882a593Smuzhiyun
1471*4882a593SmuzhiyunThe power-management is supported.
1472*4882a593Smuzhiyun
1473*4882a593SmuzhiyunModule snd-mia
1474*4882a593Smuzhiyun---------------
1475*4882a593Smuzhiyun
1476*4882a593SmuzhiyunModule for Echoaudio Mia
1477*4882a593Smuzhiyun
1478*4882a593SmuzhiyunThis module supports multiple cards.
1479*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
1480*4882a593Smuzhiyun
1481*4882a593SmuzhiyunModule snd-miro
1482*4882a593Smuzhiyun---------------
1483*4882a593Smuzhiyun
1484*4882a593SmuzhiyunModule for Miro soundcards: miroSOUND PCM 1 pro, miroSOUND PCM 12,
1485*4882a593SmuzhiyunmiroSOUND PCM 20 Radio.
1486*4882a593Smuzhiyun
1487*4882a593Smuzhiyunport
1488*4882a593Smuzhiyun    Port # (0x530,0x604,0xe80,0xf40)
1489*4882a593Smuzhiyunirq
1490*4882a593Smuzhiyun    IRQ # (5,7,9,10,11)
1491*4882a593Smuzhiyundma1
1492*4882a593Smuzhiyun    1st dma # (0,1,3)
1493*4882a593Smuzhiyundma2
1494*4882a593Smuzhiyun    2nd dma # (0,1)
1495*4882a593Smuzhiyunmpu_port
1496*4882a593Smuzhiyun    MPU-401 port # (0x300,0x310,0x320,0x330)
1497*4882a593Smuzhiyunmpu_irq
1498*4882a593Smuzhiyun    MPU-401 irq # (5,7,9,10)
1499*4882a593Smuzhiyunfm_port
1500*4882a593Smuzhiyun    FM Port # (0x388)
1501*4882a593Smuzhiyunwss
1502*4882a593Smuzhiyun    enable WSS mode
1503*4882a593Smuzhiyunide
1504*4882a593Smuzhiyun    enable onboard ide support
1505*4882a593Smuzhiyun
1506*4882a593SmuzhiyunModule snd-mixart
1507*4882a593Smuzhiyun-----------------
1508*4882a593Smuzhiyun
1509*4882a593SmuzhiyunModule for Digigram miXart8 sound cards.
1510*4882a593Smuzhiyun
1511*4882a593SmuzhiyunThis module supports multiple cards.
1512*4882a593SmuzhiyunNote: One miXart8 board will be represented as 4 alsa cards.
1513*4882a593SmuzhiyunSee Documentation/sound/cards/mixart.rst for details.
1514*4882a593Smuzhiyun
1515*4882a593SmuzhiyunWhen the driver is compiled as a module and the hotplug firmware
1516*4882a593Smuzhiyunis supported, the firmware data is loaded via hotplug automatically.
1517*4882a593SmuzhiyunInstall the necessary firmware files in alsa-firmware package.
1518*4882a593SmuzhiyunWhen no hotplug fw loader is available, you need to load the
1519*4882a593Smuzhiyunfirmware via mixartloader utility in alsa-tools package.
1520*4882a593Smuzhiyun
1521*4882a593SmuzhiyunModule snd-mona
1522*4882a593Smuzhiyun---------------
1523*4882a593Smuzhiyun
1524*4882a593SmuzhiyunModule for Echoaudio Mona
1525*4882a593Smuzhiyun
1526*4882a593SmuzhiyunThis module supports multiple cards.
1527*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
1528*4882a593Smuzhiyun
1529*4882a593SmuzhiyunModule snd-mpu401
1530*4882a593Smuzhiyun-----------------
1531*4882a593Smuzhiyun
1532*4882a593SmuzhiyunModule for MPU-401 UART devices.
1533*4882a593Smuzhiyun
1534*4882a593Smuzhiyunport
1535*4882a593Smuzhiyun    port number or -1 (disable)
1536*4882a593Smuzhiyunirq
1537*4882a593Smuzhiyun    IRQ number or -1 (disable)
1538*4882a593Smuzhiyunpnp
1539*4882a593Smuzhiyun    PnP detection - 0 = disable, 1 = enable (default)
1540*4882a593Smuzhiyun
1541*4882a593SmuzhiyunThis module supports multiple devices and PnP.
1542*4882a593Smuzhiyun
1543*4882a593SmuzhiyunModule snd-msnd-classic
1544*4882a593Smuzhiyun-----------------------
1545*4882a593Smuzhiyun
1546*4882a593SmuzhiyunModule for Turtle Beach MultiSound Classic, Tahiti or Monterey
1547*4882a593Smuzhiyunsoundcards.
1548*4882a593Smuzhiyun
1549*4882a593Smuzhiyunio
1550*4882a593Smuzhiyun    Port # for msnd-classic card
1551*4882a593Smuzhiyunirq
1552*4882a593Smuzhiyun    IRQ # for msnd-classic card
1553*4882a593Smuzhiyunmem
1554*4882a593Smuzhiyun    Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1555*4882a593Smuzhiyunwrite_ndelay
1556*4882a593Smuzhiyun    enable write ndelay (default = 1)
1557*4882a593Smuzhiyuncalibrate_signal
1558*4882a593Smuzhiyun    calibrate signal (default = 0)
1559*4882a593Smuzhiyunisapnp
1560*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1561*4882a593Smuzhiyundigital
1562*4882a593Smuzhiyun    Digital daughterboard present (default = 0)
1563*4882a593Smuzhiyuncfg
1564*4882a593Smuzhiyun    Config port (0x250, 0x260 or 0x270) default = PnP
1565*4882a593Smuzhiyunreset
1566*4882a593Smuzhiyun    Reset all devices
1567*4882a593Smuzhiyunmpu_io
1568*4882a593Smuzhiyun    MPU401 I/O port
1569*4882a593Smuzhiyunmpu_irq
1570*4882a593Smuzhiyun    MPU401 irq#
1571*4882a593Smuzhiyunide_io0
1572*4882a593Smuzhiyun    IDE port #0
1573*4882a593Smuzhiyunide_io1
1574*4882a593Smuzhiyun    IDE port #1
1575*4882a593Smuzhiyunide_irq
1576*4882a593Smuzhiyun    IDE irq#
1577*4882a593Smuzhiyunjoystick_io
1578*4882a593Smuzhiyun    Joystick I/O port
1579*4882a593Smuzhiyun
1580*4882a593SmuzhiyunThe driver requires firmware files ``turtlebeach/msndinit.bin`` and
1581*4882a593Smuzhiyun``turtlebeach/msndperm.bin`` in the proper firmware directory.
1582*4882a593Smuzhiyun
1583*4882a593SmuzhiyunSee Documentation/sound/cards/multisound.sh for important information
1584*4882a593Smuzhiyunabout this driver.  Note that it has been discontinued, but the
1585*4882a593SmuzhiyunVoyetra Turtle Beach knowledge base entry for it is still available
1586*4882a593Smuzhiyunat
1587*4882a593Smuzhiyunhttps://www.turtlebeach.com
1588*4882a593Smuzhiyun
1589*4882a593SmuzhiyunModule snd-msnd-pinnacle
1590*4882a593Smuzhiyun------------------------
1591*4882a593Smuzhiyun
1592*4882a593SmuzhiyunModule for Turtle Beach MultiSound Pinnacle/Fiji soundcards.
1593*4882a593Smuzhiyun
1594*4882a593Smuzhiyunio
1595*4882a593Smuzhiyun    Port # for pinnacle/fiji card
1596*4882a593Smuzhiyunirq
1597*4882a593Smuzhiyun    IRQ # for pinnalce/fiji card
1598*4882a593Smuzhiyunmem
1599*4882a593Smuzhiyun    Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000, 0xe0000 or 0xe8000)
1600*4882a593Smuzhiyunwrite_ndelay
1601*4882a593Smuzhiyun    enable write ndelay (default = 1)
1602*4882a593Smuzhiyuncalibrate_signal
1603*4882a593Smuzhiyun    calibrate signal (default = 0)
1604*4882a593Smuzhiyunisapnp
1605*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1606*4882a593Smuzhiyun
1607*4882a593SmuzhiyunThe driver requires firmware files ``turtlebeach/pndspini.bin`` and
1608*4882a593Smuzhiyun``turtlebeach/pndsperm.bin`` in the proper firmware directory.
1609*4882a593Smuzhiyun
1610*4882a593SmuzhiyunModule snd-mtpav
1611*4882a593Smuzhiyun----------------
1612*4882a593Smuzhiyun
1613*4882a593SmuzhiyunModule for MOTU MidiTimePiece AV multiport MIDI (on the parallel
1614*4882a593Smuzhiyunport).
1615*4882a593Smuzhiyun
1616*4882a593Smuzhiyunport
1617*4882a593Smuzhiyun    I/O port # for MTPAV (0x378,0x278, default=0x378)
1618*4882a593Smuzhiyunirq
1619*4882a593Smuzhiyun    IRQ # for MTPAV (7,5, default=7)
1620*4882a593Smuzhiyunhwports
1621*4882a593Smuzhiyun    number of supported hardware ports, default=8.
1622*4882a593Smuzhiyun
1623*4882a593SmuzhiyunModule supports only 1 card.  This module has no enable option.
1624*4882a593Smuzhiyun
1625*4882a593SmuzhiyunModule snd-mts64
1626*4882a593Smuzhiyun----------------
1627*4882a593Smuzhiyun
1628*4882a593SmuzhiyunModule for Ego Systems (ESI) Miditerminal 4140
1629*4882a593Smuzhiyun
1630*4882a593SmuzhiyunThis module supports multiple devices.
1631*4882a593SmuzhiyunRequires parport (``CONFIG_PARPORT``).
1632*4882a593Smuzhiyun
1633*4882a593SmuzhiyunModule snd-nm256
1634*4882a593Smuzhiyun----------------
1635*4882a593Smuzhiyun
1636*4882a593SmuzhiyunModule for NeoMagic NM256AV/ZX chips
1637*4882a593Smuzhiyun
1638*4882a593Smuzhiyunplayback_bufsize
1639*4882a593Smuzhiyun    max playback frame size in kB (4-128kB)
1640*4882a593Smuzhiyuncapture_bufsize
1641*4882a593Smuzhiyun    max capture frame size in kB (4-128kB)
1642*4882a593Smuzhiyunforce_ac97
1643*4882a593Smuzhiyun    0 or 1 (disabled by default)
1644*4882a593Smuzhiyunbuffer_top
1645*4882a593Smuzhiyun    specify buffer top address
1646*4882a593Smuzhiyunuse_cache
1647*4882a593Smuzhiyun    0 or 1 (disabled by default)
1648*4882a593Smuzhiyunvaio_hack
1649*4882a593Smuzhiyun    alias buffer_top=0x25a800
1650*4882a593Smuzhiyunreset_workaround
1651*4882a593Smuzhiyun    enable AC97 RESET workaround for some laptops
1652*4882a593Smuzhiyunreset_workaround2
1653*4882a593Smuzhiyun    enable extended AC97 RESET workaround for some other laptops
1654*4882a593Smuzhiyun
1655*4882a593SmuzhiyunThis module supports one chip and autoprobe.
1656*4882a593Smuzhiyun
1657*4882a593SmuzhiyunThe power-management is supported.
1658*4882a593Smuzhiyun
1659*4882a593SmuzhiyunNote: on some notebooks the buffer address cannot be detected
1660*4882a593Smuzhiyunautomatically, or causes hang-up during initialization.
1661*4882a593SmuzhiyunIn such a case, specify the buffer top address explicitly via
1662*4882a593Smuzhiyunthe buffer_top option.
1663*4882a593SmuzhiyunFor example,
1664*4882a593SmuzhiyunSony F250: buffer_top=0x25a800
1665*4882a593SmuzhiyunSony F270: buffer_top=0x272800
1666*4882a593SmuzhiyunThe driver supports only ac97 codec.  It's possible to force
1667*4882a593Smuzhiyunto initialize/use ac97 although it's not detected.  In such a
1668*4882a593Smuzhiyuncase, use ``force_ac97=1`` option - but *NO* guarantee whether it
1669*4882a593Smuzhiyunworks!
1670*4882a593Smuzhiyun
1671*4882a593SmuzhiyunNote: The NM256 chip can be linked internally with non-AC97
1672*4882a593Smuzhiyuncodecs.  This driver supports only the AC97 codec, and won't work
1673*4882a593Smuzhiyunwith machines with other (most likely CS423x or OPL3SAx) chips,
1674*4882a593Smuzhiyuneven though the device is detected in lspci.  In such a case, try
1675*4882a593Smuzhiyunother drivers, e.g. snd-cs4232 or snd-opl3sa2.  Some has ISA-PnP
1676*4882a593Smuzhiyunbut some doesn't have ISA PnP.  You'll need to specify ``isapnp=0``
1677*4882a593Smuzhiyunand proper hardware parameters in the case without ISA PnP.
1678*4882a593Smuzhiyun
1679*4882a593SmuzhiyunNote: some laptops need a workaround for AC97 RESET.  For the
1680*4882a593Smuzhiyunknown hardware like Dell Latitude LS and Sony PCG-F305, this
1681*4882a593Smuzhiyunworkaround is enabled automatically.  For other laptops with a
1682*4882a593Smuzhiyunhard freeze, you can try ``reset_workaround=1`` option.
1683*4882a593Smuzhiyun
1684*4882a593SmuzhiyunNote: Dell Latitude CSx laptops have another problem regarding
1685*4882a593SmuzhiyunAC97 RESET.  On these laptops, reset_workaround2 option is
1686*4882a593Smuzhiyunturned on as default.  This option is worth to try if the
1687*4882a593Smuzhiyunprevious reset_workaround option doesn't help.
1688*4882a593Smuzhiyun
1689*4882a593SmuzhiyunNote: This driver is really crappy.  It's a porting from the
1690*4882a593SmuzhiyunOSS driver, which is a result of black-magic reverse engineering.
1691*4882a593SmuzhiyunThe detection of codec will fail if the driver is loaded *after*
1692*4882a593SmuzhiyunX-server as described above.  You might be able to force to load
1693*4882a593Smuzhiyunthe module, but it may result in hang-up.   Hence, make sure that
1694*4882a593Smuzhiyunyou load this module *before* X if you encounter this kind of
1695*4882a593Smuzhiyunproblem.
1696*4882a593Smuzhiyun
1697*4882a593SmuzhiyunModule snd-opl3sa2
1698*4882a593Smuzhiyun------------------
1699*4882a593Smuzhiyun
1700*4882a593SmuzhiyunModule for Yamaha OPL3-SA2/SA3 sound cards.
1701*4882a593Smuzhiyun
1702*4882a593Smuzhiyunisapnp
1703*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1704*4882a593Smuzhiyun
1705*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
1706*4882a593Smuzhiyun
1707*4882a593Smuzhiyunport
1708*4882a593Smuzhiyun    control port # for OPL3-SA chip (0x370)
1709*4882a593Smuzhiyunsb_port
1710*4882a593Smuzhiyun    SB port # for OPL3-SA chip (0x220,0x240)
1711*4882a593Smuzhiyunwss_port
1712*4882a593Smuzhiyun    WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
1713*4882a593Smuzhiyunmidi_port
1714*4882a593Smuzhiyun    port # for MPU-401 UART (0x300,0x330), -1 = disable
1715*4882a593Smuzhiyunfm_port
1716*4882a593Smuzhiyun    FM port # for OPL3-SA chip (0x388), -1 = disable
1717*4882a593Smuzhiyunirq
1718*4882a593Smuzhiyun    IRQ # for OPL3-SA chip (5,7,9,10)
1719*4882a593Smuzhiyundma1
1720*4882a593Smuzhiyun    first DMA # for Yamaha OPL3-SA chip (0,1,3)
1721*4882a593Smuzhiyundma2
1722*4882a593Smuzhiyun    second DMA # for Yamaha OPL3-SA chip (0,1,3), -1 = disable
1723*4882a593Smuzhiyun
1724*4882a593SmuzhiyunThis module supports multiple cards and ISA PnP.  It does not support
1725*4882a593Smuzhiyunautoprobe (if ISA PnP is not used) thus all ports must be specified!!!
1726*4882a593Smuzhiyun
1727*4882a593SmuzhiyunThe power-management is supported.
1728*4882a593Smuzhiyun
1729*4882a593SmuzhiyunModule snd-opti92x-ad1848
1730*4882a593Smuzhiyun-------------------------
1731*4882a593Smuzhiyun
1732*4882a593SmuzhiyunModule for sound cards based on OPTi 82c92x and Analog Devices AD1848 chips.
1733*4882a593SmuzhiyunModule works with OAK Mozart cards as well.
1734*4882a593Smuzhiyun
1735*4882a593Smuzhiyunisapnp
1736*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1737*4882a593Smuzhiyun
1738*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
1739*4882a593Smuzhiyun
1740*4882a593Smuzhiyunport
1741*4882a593Smuzhiyun    port # for WSS chip (0x530,0xe80,0xf40,0x604)
1742*4882a593Smuzhiyunmpu_port
1743*4882a593Smuzhiyun    port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1744*4882a593Smuzhiyunfm_port
1745*4882a593Smuzhiyun    port # for OPL3 device (0x388)
1746*4882a593Smuzhiyunirq
1747*4882a593Smuzhiyun    IRQ # for WSS chip (5,7,9,10,11)
1748*4882a593Smuzhiyunmpu_irq
1749*4882a593Smuzhiyun    IRQ # for MPU-401 UART (5,7,9,10)
1750*4882a593Smuzhiyundma1
1751*4882a593Smuzhiyun    first DMA # for WSS chip (0,1,3)
1752*4882a593Smuzhiyun
1753*4882a593SmuzhiyunThis module supports only one card, autoprobe and PnP.
1754*4882a593Smuzhiyun
1755*4882a593SmuzhiyunModule snd-opti92x-cs4231
1756*4882a593Smuzhiyun-------------------------
1757*4882a593Smuzhiyun
1758*4882a593SmuzhiyunModule for sound cards based on OPTi 82c92x and Crystal CS4231 chips.
1759*4882a593Smuzhiyun
1760*4882a593Smuzhiyunisapnp
1761*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1762*4882a593Smuzhiyun
1763*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
1764*4882a593Smuzhiyun
1765*4882a593Smuzhiyunport
1766*4882a593Smuzhiyun    port # for WSS chip (0x530,0xe80,0xf40,0x604)
1767*4882a593Smuzhiyunmpu_port
1768*4882a593Smuzhiyun    port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1769*4882a593Smuzhiyunfm_port
1770*4882a593Smuzhiyun    port # for OPL3 device (0x388)
1771*4882a593Smuzhiyunirq
1772*4882a593Smuzhiyun    IRQ # for WSS chip (5,7,9,10,11)
1773*4882a593Smuzhiyunmpu_irq
1774*4882a593Smuzhiyun    IRQ # for MPU-401 UART (5,7,9,10)
1775*4882a593Smuzhiyundma1
1776*4882a593Smuzhiyun    first DMA # for WSS chip (0,1,3)
1777*4882a593Smuzhiyundma2
1778*4882a593Smuzhiyun    second DMA # for WSS chip (0,1,3)
1779*4882a593Smuzhiyun
1780*4882a593SmuzhiyunThis module supports only one card, autoprobe and PnP.
1781*4882a593Smuzhiyun
1782*4882a593SmuzhiyunModule snd-opti93x
1783*4882a593Smuzhiyun------------------
1784*4882a593Smuzhiyun
1785*4882a593SmuzhiyunModule for sound cards based on OPTi 82c93x chips.
1786*4882a593Smuzhiyun
1787*4882a593Smuzhiyunisapnp
1788*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1789*4882a593Smuzhiyun
1790*4882a593Smuzhiyunwith ``isapnp=0``, the following options are available:
1791*4882a593Smuzhiyun
1792*4882a593Smuzhiyunport
1793*4882a593Smuzhiyun    port # for WSS chip (0x530,0xe80,0xf40,0x604)
1794*4882a593Smuzhiyunmpu_port
1795*4882a593Smuzhiyun    port # for MPU-401 UART (0x300,0x310,0x320,0x330)
1796*4882a593Smuzhiyunfm_port
1797*4882a593Smuzhiyun    port # for OPL3 device (0x388)
1798*4882a593Smuzhiyunirq
1799*4882a593Smuzhiyun    IRQ # for WSS chip (5,7,9,10,11)
1800*4882a593Smuzhiyunmpu_irq
1801*4882a593Smuzhiyun    IRQ # for MPU-401 UART (5,7,9,10)
1802*4882a593Smuzhiyundma1
1803*4882a593Smuzhiyun    first DMA # for WSS chip (0,1,3)
1804*4882a593Smuzhiyundma2
1805*4882a593Smuzhiyun    second DMA # for WSS chip (0,1,3)
1806*4882a593Smuzhiyun
1807*4882a593SmuzhiyunThis module supports only one card, autoprobe and PnP.
1808*4882a593Smuzhiyun
1809*4882a593SmuzhiyunModule snd-oxygen
1810*4882a593Smuzhiyun-----------------
1811*4882a593Smuzhiyun
1812*4882a593SmuzhiyunModule for sound cards based on the C-Media CMI8786/8787/8788 chip:
1813*4882a593Smuzhiyun
1814*4882a593Smuzhiyun* Asound A-8788
1815*4882a593Smuzhiyun* Asus Xonar DG/DGX
1816*4882a593Smuzhiyun* AuzenTech X-Meridian
1817*4882a593Smuzhiyun* AuzenTech X-Meridian 2G
1818*4882a593Smuzhiyun* Bgears b-Enspirer
1819*4882a593Smuzhiyun* Club3D Theatron DTS
1820*4882a593Smuzhiyun* HT-Omega Claro (plus)
1821*4882a593Smuzhiyun* HT-Omega Claro halo (XT)
1822*4882a593Smuzhiyun* Kuroutoshikou CMI8787-HG2PCI
1823*4882a593Smuzhiyun* Razer Barracuda AC-1
1824*4882a593Smuzhiyun* Sondigo Inferno
1825*4882a593Smuzhiyun* TempoTec HiFier Fantasia
1826*4882a593Smuzhiyun* TempoTec HiFier Serenade
1827*4882a593Smuzhiyun
1828*4882a593SmuzhiyunThis module supports autoprobe and multiple cards.
1829*4882a593Smuzhiyun
1830*4882a593SmuzhiyunModule snd-pcsp
1831*4882a593Smuzhiyun---------------
1832*4882a593Smuzhiyun
1833*4882a593SmuzhiyunModule for internal PC-Speaker.
1834*4882a593Smuzhiyun
1835*4882a593Smuzhiyunnopcm
1836*4882a593Smuzhiyun    Disable PC-Speaker PCM sound. Only beeps remain.
1837*4882a593Smuzhiyunnforce_wa
1838*4882a593Smuzhiyun    enable NForce chipset workaround. Expect bad sound.
1839*4882a593Smuzhiyun
1840*4882a593SmuzhiyunThis module supports system beeps, some kind of PCM playback and
1841*4882a593Smuzhiyuneven a few mixer controls.
1842*4882a593Smuzhiyun
1843*4882a593SmuzhiyunModule snd-pcxhr
1844*4882a593Smuzhiyun----------------
1845*4882a593Smuzhiyun
1846*4882a593SmuzhiyunModule for Digigram PCXHR boards
1847*4882a593Smuzhiyun
1848*4882a593SmuzhiyunThis module supports multiple cards.
1849*4882a593Smuzhiyun
1850*4882a593SmuzhiyunModule snd-portman2x4
1851*4882a593Smuzhiyun---------------------
1852*4882a593Smuzhiyun
1853*4882a593SmuzhiyunModule for Midiman Portman 2x4 parallel port MIDI interface
1854*4882a593Smuzhiyun
1855*4882a593SmuzhiyunThis module supports multiple cards.
1856*4882a593Smuzhiyun
1857*4882a593SmuzhiyunModule snd-powermac (on ppc only)
1858*4882a593Smuzhiyun---------------------------------
1859*4882a593Smuzhiyun
1860*4882a593SmuzhiyunModule for PowerMac, iMac and iBook on-board soundchips
1861*4882a593Smuzhiyun
1862*4882a593Smuzhiyunenable_beep
1863*4882a593Smuzhiyun    enable beep using PCM (enabled as default)
1864*4882a593Smuzhiyun
1865*4882a593SmuzhiyunModule supports autoprobe a chip.
1866*4882a593Smuzhiyun
1867*4882a593SmuzhiyunNote: the driver may have problems regarding endianness.
1868*4882a593Smuzhiyun
1869*4882a593SmuzhiyunThe power-management is supported.
1870*4882a593Smuzhiyun
1871*4882a593SmuzhiyunModule snd-pxa2xx-ac97 (on arm only)
1872*4882a593Smuzhiyun------------------------------------
1873*4882a593Smuzhiyun
1874*4882a593SmuzhiyunModule for AC97 driver for the Intel PXA2xx chip
1875*4882a593Smuzhiyun
1876*4882a593SmuzhiyunFor ARM architecture only.
1877*4882a593Smuzhiyun
1878*4882a593SmuzhiyunThe power-management is supported.
1879*4882a593Smuzhiyun
1880*4882a593SmuzhiyunModule snd-riptide
1881*4882a593Smuzhiyun------------------
1882*4882a593Smuzhiyun
1883*4882a593SmuzhiyunModule for Conexant Riptide chip
1884*4882a593Smuzhiyun
1885*4882a593Smuzhiyunjoystick_port
1886*4882a593Smuzhiyun    Joystick port # (default: 0x200)
1887*4882a593Smuzhiyunmpu_port
1888*4882a593Smuzhiyun    MPU401 port # (default: 0x330)
1889*4882a593Smuzhiyunopl3_port
1890*4882a593Smuzhiyun    OPL3 port # (default: 0x388)
1891*4882a593Smuzhiyun
1892*4882a593SmuzhiyunThis module supports multiple cards.
1893*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
1894*4882a593SmuzhiyunYou need to install the firmware file ``riptide.hex`` to the standard
1895*4882a593Smuzhiyunfirmware path (e.g. /lib/firmware).
1896*4882a593Smuzhiyun
1897*4882a593SmuzhiyunModule snd-rme32
1898*4882a593Smuzhiyun----------------
1899*4882a593Smuzhiyun
1900*4882a593SmuzhiyunModule for RME Digi32, Digi32 Pro and Digi32/8 (Sek'd Prodif32,
1901*4882a593SmuzhiyunProdif96 and Prodif Gold) sound cards.
1902*4882a593Smuzhiyun
1903*4882a593SmuzhiyunThis module supports multiple cards.
1904*4882a593Smuzhiyun
1905*4882a593SmuzhiyunModule snd-rme96
1906*4882a593Smuzhiyun----------------
1907*4882a593Smuzhiyun
1908*4882a593SmuzhiyunModule for RME Digi96, Digi96/8 and Digi96/8 PRO/PAD/PST sound cards.
1909*4882a593Smuzhiyun
1910*4882a593SmuzhiyunThis module supports multiple cards.
1911*4882a593Smuzhiyun
1912*4882a593SmuzhiyunModule snd-rme9652
1913*4882a593Smuzhiyun------------------
1914*4882a593Smuzhiyun
1915*4882a593SmuzhiyunModule for RME Digi9652 (Hammerfall, Hammerfall-Light) sound cards.
1916*4882a593Smuzhiyun
1917*4882a593Smuzhiyunprecise_ptr
1918*4882a593Smuzhiyun    Enable precise pointer (doesn't work reliably). (default = 0)
1919*4882a593Smuzhiyun
1920*4882a593SmuzhiyunThis module supports multiple cards.
1921*4882a593Smuzhiyun
1922*4882a593SmuzhiyunNote: snd-page-alloc module does the job which snd-hammerfall-mem
1923*4882a593Smuzhiyunmodule did formerly.  It will allocate the buffers in advance
1924*4882a593Smuzhiyunwhen any RME9652 cards are found.  To make the buffer
1925*4882a593Smuzhiyunallocation sure, load snd-page-alloc module in the early
1926*4882a593Smuzhiyunstage of boot sequence.  See `Early Buffer Allocation`_
1927*4882a593Smuzhiyunsection.
1928*4882a593Smuzhiyun
1929*4882a593SmuzhiyunModule snd-sa11xx-uda1341 (on arm only)
1930*4882a593Smuzhiyun---------------------------------------
1931*4882a593Smuzhiyun
1932*4882a593SmuzhiyunModule for Philips UDA1341TS on Compaq iPAQ H3600 sound card.
1933*4882a593Smuzhiyun
1934*4882a593SmuzhiyunModule supports only one card.
1935*4882a593SmuzhiyunModule has no enable and index options.
1936*4882a593Smuzhiyun
1937*4882a593SmuzhiyunThe power-management is supported.
1938*4882a593Smuzhiyun
1939*4882a593SmuzhiyunModule snd-sb8
1940*4882a593Smuzhiyun--------------
1941*4882a593Smuzhiyun
1942*4882a593SmuzhiyunModule for 8-bit SoundBlaster cards: SoundBlaster 1.0, SoundBlaster 2.0,
1943*4882a593SmuzhiyunSoundBlaster Pro
1944*4882a593Smuzhiyun
1945*4882a593Smuzhiyunport
1946*4882a593Smuzhiyun    port # for SB DSP chip (0x220,0x240,0x260)
1947*4882a593Smuzhiyunirq
1948*4882a593Smuzhiyun    IRQ # for SB DSP chip (5,7,9,10)
1949*4882a593Smuzhiyundma8
1950*4882a593Smuzhiyun    DMA # for SB DSP chip (1,3)
1951*4882a593Smuzhiyun
1952*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
1953*4882a593Smuzhiyun
1954*4882a593SmuzhiyunThe power-management is supported.
1955*4882a593Smuzhiyun
1956*4882a593SmuzhiyunModule snd-sb16 and snd-sbawe
1957*4882a593Smuzhiyun-----------------------------
1958*4882a593Smuzhiyun
1959*4882a593SmuzhiyunModule for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
1960*4882a593SmuzhiyunSoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 PnP
1961*4882a593Smuzhiyun
1962*4882a593Smuzhiyunmic_agc
1963*4882a593Smuzhiyun    Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
1964*4882a593Smuzhiyuncsp
1965*4882a593Smuzhiyun    ASP/CSP chip support - 0 = disable (default), 1 = enable
1966*4882a593Smuzhiyunisapnp
1967*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
1968*4882a593Smuzhiyun
1969*4882a593Smuzhiyunwith isapnp=0, the following options are available:
1970*4882a593Smuzhiyun
1971*4882a593Smuzhiyunport
1972*4882a593Smuzhiyun    port # for SB DSP 4.x chip (0x220,0x240,0x260)
1973*4882a593Smuzhiyunmpu_port
1974*4882a593Smuzhiyun    port # for MPU-401 UART (0x300,0x330), -1 = disable
1975*4882a593Smuzhiyunawe_port
1976*4882a593Smuzhiyun    base port # for EMU8000 synthesizer (0x620,0x640,0x660) (snd-sbawe
1977*4882a593Smuzhiyun    module only)
1978*4882a593Smuzhiyunirq
1979*4882a593Smuzhiyun    IRQ # for SB DSP 4.x chip (5,7,9,10)
1980*4882a593Smuzhiyundma8
1981*4882a593Smuzhiyun    8-bit DMA # for SB DSP 4.x chip (0,1,3)
1982*4882a593Smuzhiyundma16
1983*4882a593Smuzhiyun    16-bit DMA # for SB DSP 4.x chip (5,6,7)
1984*4882a593Smuzhiyun
1985*4882a593SmuzhiyunThis module supports multiple cards, autoprobe and ISA PnP.
1986*4882a593Smuzhiyun
1987*4882a593SmuzhiyunNote: To use Vibra16X cards in 16-bit half duplex mode, you must
1988*4882a593Smuzhiyundisable 16bit DMA with dma16 = -1 module parameter.
1989*4882a593SmuzhiyunAlso, all Sound Blaster 16 type cards can operate in 16-bit
1990*4882a593Smuzhiyunhalf duplex mode through 8-bit DMA channel by disabling their
1991*4882a593Smuzhiyun16-bit DMA channel.
1992*4882a593Smuzhiyun
1993*4882a593SmuzhiyunThe power-management is supported.
1994*4882a593Smuzhiyun
1995*4882a593SmuzhiyunModule snd-sc6000
1996*4882a593Smuzhiyun-----------------
1997*4882a593Smuzhiyun
1998*4882a593SmuzhiyunModule for Gallant SC-6000 soundcard and later models: SC-6600 and
1999*4882a593SmuzhiyunSC-7000.
2000*4882a593Smuzhiyun
2001*4882a593Smuzhiyunport
2002*4882a593Smuzhiyun    Port # (0x220 or 0x240)
2003*4882a593Smuzhiyunmss_port
2004*4882a593Smuzhiyun    MSS Port # (0x530 or 0xe80)
2005*4882a593Smuzhiyunirq
2006*4882a593Smuzhiyun    IRQ # (5,7,9,10,11)
2007*4882a593Smuzhiyunmpu_irq
2008*4882a593Smuzhiyun    MPU-401 IRQ # (5,7,9,10) ,0 - no MPU-401 irq
2009*4882a593Smuzhiyundma
2010*4882a593Smuzhiyun    DMA # (1,3,0)
2011*4882a593Smuzhiyunjoystick
2012*4882a593Smuzhiyun    Enable gameport - 0 = disable (default), 1 = enable
2013*4882a593Smuzhiyun
2014*4882a593SmuzhiyunThis module supports multiple cards.
2015*4882a593Smuzhiyun
2016*4882a593SmuzhiyunThis card is also known as Audio Excel DSP 16 or Zoltrix AV302.
2017*4882a593Smuzhiyun
2018*4882a593SmuzhiyunModule snd-sscape
2019*4882a593Smuzhiyun-----------------
2020*4882a593Smuzhiyun
2021*4882a593SmuzhiyunModule for ENSONIQ SoundScape cards.
2022*4882a593Smuzhiyun
2023*4882a593Smuzhiyunport
2024*4882a593Smuzhiyun    Port # (PnP setup)
2025*4882a593Smuzhiyunwss_port
2026*4882a593Smuzhiyun    WSS Port # (PnP setup)
2027*4882a593Smuzhiyunirq
2028*4882a593Smuzhiyun    IRQ # (PnP setup)
2029*4882a593Smuzhiyunmpu_irq
2030*4882a593Smuzhiyun    MPU-401 IRQ # (PnP setup)
2031*4882a593Smuzhiyundma
2032*4882a593Smuzhiyun    DMA # (PnP setup)
2033*4882a593Smuzhiyundma2
2034*4882a593Smuzhiyun    2nd DMA # (PnP setup, -1 to disable)
2035*4882a593Smuzhiyunjoystick
2036*4882a593Smuzhiyun    Enable gameport - 0 = disable (default), 1 = enable
2037*4882a593Smuzhiyun
2038*4882a593SmuzhiyunThis module supports multiple cards.
2039*4882a593Smuzhiyun
2040*4882a593SmuzhiyunThe driver requires the firmware loader support on kernel.
2041*4882a593Smuzhiyun
2042*4882a593SmuzhiyunModule snd-sun-amd7930 (on sparc only)
2043*4882a593Smuzhiyun--------------------------------------
2044*4882a593Smuzhiyun
2045*4882a593SmuzhiyunModule for AMD7930 sound chips found on Sparcs.
2046*4882a593Smuzhiyun
2047*4882a593SmuzhiyunThis module supports multiple cards.
2048*4882a593Smuzhiyun
2049*4882a593SmuzhiyunModule snd-sun-cs4231 (on sparc only)
2050*4882a593Smuzhiyun-------------------------------------
2051*4882a593Smuzhiyun
2052*4882a593SmuzhiyunModule for CS4231 sound chips found on Sparcs.
2053*4882a593Smuzhiyun
2054*4882a593SmuzhiyunThis module supports multiple cards.
2055*4882a593Smuzhiyun
2056*4882a593SmuzhiyunModule snd-sun-dbri (on sparc only)
2057*4882a593Smuzhiyun-----------------------------------
2058*4882a593Smuzhiyun
2059*4882a593SmuzhiyunModule for DBRI sound chips found on Sparcs.
2060*4882a593Smuzhiyun
2061*4882a593SmuzhiyunThis module supports multiple cards.
2062*4882a593Smuzhiyun
2063*4882a593SmuzhiyunModule snd-wavefront
2064*4882a593Smuzhiyun--------------------
2065*4882a593Smuzhiyun
2066*4882a593SmuzhiyunModule for Turtle Beach Maui, Tropez and Tropez+ sound cards.
2067*4882a593Smuzhiyun
2068*4882a593Smuzhiyunuse_cs4232_midi
2069*4882a593Smuzhiyun    Use CS4232 MPU-401 interface
2070*4882a593Smuzhiyun    (inaccessibly located inside your computer)
2071*4882a593Smuzhiyunisapnp
2072*4882a593Smuzhiyun    ISA PnP detection - 0 = disable, 1 = enable (default)
2073*4882a593Smuzhiyun
2074*4882a593Smuzhiyunwith isapnp=0, the following options are available:
2075*4882a593Smuzhiyun
2076*4882a593Smuzhiyuncs4232_pcm_port
2077*4882a593Smuzhiyun    Port # for CS4232 PCM interface.
2078*4882a593Smuzhiyuncs4232_pcm_irq
2079*4882a593Smuzhiyun    IRQ # for CS4232 PCM interface (5,7,9,11,12,15).
2080*4882a593Smuzhiyuncs4232_mpu_port
2081*4882a593Smuzhiyun    Port # for CS4232 MPU-401 interface.
2082*4882a593Smuzhiyuncs4232_mpu_irq
2083*4882a593Smuzhiyun    IRQ # for CS4232 MPU-401 interface (9,11,12,15).
2084*4882a593Smuzhiyunics2115_port
2085*4882a593Smuzhiyun    Port # for ICS2115
2086*4882a593Smuzhiyunics2115_irq
2087*4882a593Smuzhiyun    IRQ # for ICS2115
2088*4882a593Smuzhiyunfm_port
2089*4882a593Smuzhiyun    FM OPL-3 Port #
2090*4882a593Smuzhiyundma1
2091*4882a593Smuzhiyun    DMA1 # for CS4232 PCM interface.
2092*4882a593Smuzhiyundma2
2093*4882a593Smuzhiyun    DMA2 # for CS4232 PCM interface.
2094*4882a593Smuzhiyun
2095*4882a593SmuzhiyunThe below are options for wavefront_synth features:
2096*4882a593Smuzhiyun
2097*4882a593Smuzhiyunwf_raw
2098*4882a593Smuzhiyun    Assume that we need to boot the OS (default:no);
2099*4882a593Smuzhiyun    If yes, then during driver loading, the state of the board is
2100*4882a593Smuzhiyun    ignored, and we reset the board and load the firmware anyway.
2101*4882a593Smuzhiyunfx_raw
2102*4882a593Smuzhiyun    Assume that the FX process needs help (default:yes);
2103*4882a593Smuzhiyun    If false, we'll leave the FX processor in whatever state it is
2104*4882a593Smuzhiyun    when the driver is loaded.  The default is to download the
2105*4882a593Smuzhiyun    microprogram and associated coefficients to set it up for
2106*4882a593Smuzhiyun    "default" operation, whatever that means.
2107*4882a593Smuzhiyundebug_default
2108*4882a593Smuzhiyun    Debug parameters for card initialization
2109*4882a593Smuzhiyunwait_usecs
2110*4882a593Smuzhiyun    How long to wait without sleeping, usecs (default:150);
2111*4882a593Smuzhiyun    This magic number seems to give pretty optimal throughput
2112*4882a593Smuzhiyun    based on my limited experimentation.
2113*4882a593Smuzhiyun    If you want to play around with it and find a better value, be
2114*4882a593Smuzhiyun    my guest. Remember, the idea is to get a number that causes us
2115*4882a593Smuzhiyun    to just busy wait for as many WaveFront commands as possible,
2116*4882a593Smuzhiyun    without coming up with a number so large that we hog the whole
2117*4882a593Smuzhiyun    CPU.
2118*4882a593Smuzhiyun    Specifically, with this number, out of about 134,000 status
2119*4882a593Smuzhiyun    waits, only about 250 result in a sleep.
2120*4882a593Smuzhiyunsleep_interval
2121*4882a593Smuzhiyun    How long to sleep when waiting for reply (default: 100)
2122*4882a593Smuzhiyunsleep_tries
2123*4882a593Smuzhiyun    How many times to try sleeping during a wait (default: 50)
2124*4882a593Smuzhiyunospath
2125*4882a593Smuzhiyun    Pathname to processed ICS2115 OS firmware (default:wavefront.os);
2126*4882a593Smuzhiyun    The path name of the ISC2115 OS firmware.  In the recent
2127*4882a593Smuzhiyun    version, it's handled via firmware loader framework, so it
2128*4882a593Smuzhiyun    must be installed in the proper path, typically,
2129*4882a593Smuzhiyun    /lib/firmware.
2130*4882a593Smuzhiyunreset_time
2131*4882a593Smuzhiyun    How long to wait for a reset to take effect (default:2)
2132*4882a593Smuzhiyunramcheck_time
2133*4882a593Smuzhiyun    How many seconds to wait for the RAM test (default:20)
2134*4882a593Smuzhiyunosrun_time
2135*4882a593Smuzhiyun    How many seconds to wait for the ICS2115 OS (default:10)
2136*4882a593Smuzhiyun
2137*4882a593SmuzhiyunThis module supports multiple cards and ISA PnP.
2138*4882a593Smuzhiyun
2139*4882a593SmuzhiyunNote: the firmware file ``wavefront.os`` was located in the earlier
2140*4882a593Smuzhiyunversion in /etc.  Now it's loaded via firmware loader, and
2141*4882a593Smuzhiyunmust be in the proper firmware path, such as /lib/firmware.
2142*4882a593SmuzhiyunCopy (or symlink) the file appropriately if you get an error
2143*4882a593Smuzhiyunregarding firmware downloading after upgrading the kernel.
2144*4882a593Smuzhiyun
2145*4882a593SmuzhiyunModule snd-sonicvibes
2146*4882a593Smuzhiyun---------------------
2147*4882a593Smuzhiyun
2148*4882a593SmuzhiyunModule for S3 SonicVibes PCI sound cards.
2149*4882a593Smuzhiyun* PINE Schubert 32 PCI
2150*4882a593Smuzhiyun
2151*4882a593Smuzhiyunreverb
2152*4882a593Smuzhiyun    Reverb Enable - 1 = enable, 0 = disable (default);
2153*4882a593Smuzhiyun    SoundCard must have onboard SRAM for this.
2154*4882a593Smuzhiyunmge
2155*4882a593Smuzhiyun    Mic Gain Enable - 1 = enable, 0 = disable (default)
2156*4882a593Smuzhiyun
2157*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
2158*4882a593Smuzhiyun
2159*4882a593SmuzhiyunModule snd-serial-u16550
2160*4882a593Smuzhiyun------------------------
2161*4882a593Smuzhiyun
2162*4882a593SmuzhiyunModule for UART16550A serial MIDI ports.
2163*4882a593Smuzhiyun
2164*4882a593Smuzhiyunport
2165*4882a593Smuzhiyun    port # for UART16550A chip
2166*4882a593Smuzhiyunirq
2167*4882a593Smuzhiyun    IRQ # for UART16550A chip, -1 = poll mode
2168*4882a593Smuzhiyunspeed
2169*4882a593Smuzhiyun    speed in bauds (9600,19200,38400,57600,115200)
2170*4882a593Smuzhiyun    38400 = default
2171*4882a593Smuzhiyunbase
2172*4882a593Smuzhiyun    base for divisor in bauds (57600,115200,230400,460800)
2173*4882a593Smuzhiyun    115200 = default
2174*4882a593Smuzhiyunouts
2175*4882a593Smuzhiyun    number of MIDI ports in a serial port (1-4)
2176*4882a593Smuzhiyun    1 = default
2177*4882a593Smuzhiyunadaptor
2178*4882a593Smuzhiyun    Type of adaptor.
2179*4882a593Smuzhiyun	0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
2180*4882a593Smuzhiyun	3 = MS-124W M/B, 4 = Generic
2181*4882a593Smuzhiyun
2182*4882a593SmuzhiyunThis module supports multiple cards. This module does not support autoprobe
2183*4882a593Smuzhiyunthus the main port must be specified!!! Other options are optional.
2184*4882a593Smuzhiyun
2185*4882a593SmuzhiyunModule snd-trident
2186*4882a593Smuzhiyun------------------
2187*4882a593Smuzhiyun
2188*4882a593SmuzhiyunModule for Trident 4DWave DX/NX sound cards.
2189*4882a593Smuzhiyun* Best Union  Miss Melody 4DWave PCI
2190*4882a593Smuzhiyun* HIS  4DWave PCI
2191*4882a593Smuzhiyun* Warpspeed  ONSpeed 4DWave PCI
2192*4882a593Smuzhiyun* AzTech  PCI 64-Q3D
2193*4882a593Smuzhiyun* Addonics  SV 750
2194*4882a593Smuzhiyun* CHIC  True Sound 4Dwave
2195*4882a593Smuzhiyun* Shark  Predator4D-PCI
2196*4882a593Smuzhiyun* Jaton  SonicWave 4D
2197*4882a593Smuzhiyun* SiS SI7018 PCI Audio
2198*4882a593Smuzhiyun* Hoontech SoundTrack Digital 4DWave NX
2199*4882a593Smuzhiyun
2200*4882a593Smuzhiyunpcm_channels
2201*4882a593Smuzhiyun    max channels (voices) reserved for PCM
2202*4882a593Smuzhiyunwavetable_size
2203*4882a593Smuzhiyun    max wavetable size in kB (4-?kb)
2204*4882a593Smuzhiyun
2205*4882a593SmuzhiyunThis module supports multiple cards and autoprobe.
2206*4882a593Smuzhiyun
2207*4882a593SmuzhiyunThe power-management is supported.
2208*4882a593Smuzhiyun
2209*4882a593SmuzhiyunModule snd-ua101
2210*4882a593Smuzhiyun----------------
2211*4882a593Smuzhiyun
2212*4882a593SmuzhiyunModule for the Edirol UA-101/UA-1000 audio/MIDI interfaces.
2213*4882a593Smuzhiyun
2214*4882a593SmuzhiyunThis module supports multiple devices, autoprobe and hotplugging.
2215*4882a593Smuzhiyun
2216*4882a593SmuzhiyunModule snd-usb-audio
2217*4882a593Smuzhiyun--------------------
2218*4882a593Smuzhiyun
2219*4882a593SmuzhiyunModule for USB audio and USB MIDI devices.
2220*4882a593Smuzhiyun
2221*4882a593Smuzhiyunvid
2222*4882a593Smuzhiyun    Vendor ID for the device (optional)
2223*4882a593Smuzhiyunpid
2224*4882a593Smuzhiyun    Product ID for the device (optional)
2225*4882a593Smuzhiyunnrpacks
2226*4882a593Smuzhiyun    Max. number of packets per URB (default: 8)
2227*4882a593Smuzhiyundevice_setup
2228*4882a593Smuzhiyun    Device specific magic number (optional);
2229*4882a593Smuzhiyun    Influence depends on the device
2230*4882a593Smuzhiyun    Default: 0x0000
2231*4882a593Smuzhiyunignore_ctl_error
2232*4882a593Smuzhiyun    Ignore any USB-controller regarding mixer interface (default: no)
2233*4882a593Smuzhiyunautoclock
2234*4882a593Smuzhiyun    Enable auto-clock selection for UAC2 devices (default: yes)
2235*4882a593Smuzhiyunquirk_alias
2236*4882a593Smuzhiyun    Quirk alias list, pass strings like ``0123abcd:5678beef``, which
2237*4882a593Smuzhiyun    applies the existing quirk for the device 5678:beef to a new
2238*4882a593Smuzhiyun    device 0123:abcd.
2239*4882a593Smuzhiyunuse_vmalloc
2240*4882a593Smuzhiyun    Use vmalloc() for allocations of the PCM buffers (default: yes).
2241*4882a593Smuzhiyun    For architectures with non-coherent memory like ARM or MIPS, the
2242*4882a593Smuzhiyun    mmap access may give inconsistent results with vmalloc'ed
2243*4882a593Smuzhiyun    buffers.  If mmap is used on such architectures, turn off this
2244*4882a593Smuzhiyun    option, so that the DMA-coherent buffers are allocated and used
2245*4882a593Smuzhiyun    instead.
2246*4882a593Smuzhiyundelayed_register
2247*4882a593Smuzhiyun    The option is needed for devices that have multiple streams
2248*4882a593Smuzhiyun    defined in multiple USB interfaces.  The driver may invoke
2249*4882a593Smuzhiyun    registrations multiple times (once per interface) and this may
2250*4882a593Smuzhiyun    lead to the insufficient device enumeration.
2251*4882a593Smuzhiyun    This option receives an array of strings, and you can pass
2252*4882a593Smuzhiyun    ID:INTERFACE like ``0123abcd:4`` for performing the delayed
2253*4882a593Smuzhiyun    registration to the given device.  In this example, when a USB
2254*4882a593Smuzhiyun    device 0123:abcd is probed, the driver waits the registration
2255*4882a593Smuzhiyun    until the USB interface 4 gets probed.
2256*4882a593Smuzhiyun    The driver prints a message like "Found post-registration device
2257*4882a593Smuzhiyun    assignment: 1234abcd:04" for such a device, so that user can
2258*4882a593Smuzhiyun    notice the need.
2259*4882a593Smuzhiyun
2260*4882a593SmuzhiyunThis module supports multiple devices, autoprobe and hotplugging.
2261*4882a593Smuzhiyun
2262*4882a593SmuzhiyunNB: ``nrpacks`` parameter can be modified dynamically via sysfs.
2263*4882a593SmuzhiyunDon't put the value over 20.  Changing via sysfs has no sanity
2264*4882a593Smuzhiyuncheck.
2265*4882a593Smuzhiyun
2266*4882a593SmuzhiyunNB: ``ignore_ctl_error=1`` may help when you get an error at accessing
2267*4882a593Smuzhiyunthe mixer element such as URB error -22.  This happens on some
2268*4882a593Smuzhiyunbuggy USB device or the controller.
2269*4882a593Smuzhiyun
2270*4882a593SmuzhiyunNB: quirk_alias option is provided only for testing / development.
2271*4882a593SmuzhiyunIf you want to have a proper support, contact to upstream for
2272*4882a593Smuzhiyunadding the matching quirk in the driver code statically.
2273*4882a593Smuzhiyun
2274*4882a593SmuzhiyunModule snd-usb-caiaq
2275*4882a593Smuzhiyun--------------------
2276*4882a593Smuzhiyun
2277*4882a593SmuzhiyunModule for caiaq UB audio interfaces,
2278*4882a593Smuzhiyun
2279*4882a593Smuzhiyun* Native Instruments RigKontrol2
2280*4882a593Smuzhiyun* Native Instruments Kore Controller
2281*4882a593Smuzhiyun* Native Instruments Audio Kontrol 1
2282*4882a593Smuzhiyun* Native Instruments Audio 8 DJ
2283*4882a593Smuzhiyun
2284*4882a593SmuzhiyunThis module supports multiple devices, autoprobe and hotplugging.
2285*4882a593Smuzhiyun
2286*4882a593SmuzhiyunModule snd-usb-usx2y
2287*4882a593Smuzhiyun--------------------
2288*4882a593Smuzhiyun
2289*4882a593SmuzhiyunModule for Tascam USB US-122, US-224 and US-428 devices.
2290*4882a593Smuzhiyun
2291*4882a593SmuzhiyunThis module supports multiple devices, autoprobe and hotplugging.
2292*4882a593Smuzhiyun
2293*4882a593SmuzhiyunNote: you need to load the firmware via ``usx2yloader`` utility included
2294*4882a593Smuzhiyunin alsa-tools and alsa-firmware packages.
2295*4882a593Smuzhiyun
2296*4882a593SmuzhiyunModule snd-via82xx
2297*4882a593Smuzhiyun------------------
2298*4882a593Smuzhiyun
2299*4882a593SmuzhiyunModule for AC'97 motherboards based on VIA 82C686A/686B, 8233, 8233A,
2300*4882a593Smuzhiyun8233C, 8235, 8237 (south) bridge.
2301*4882a593Smuzhiyun
2302*4882a593Smuzhiyunmpu_port
2303*4882a593Smuzhiyun    0x300,0x310,0x320,0x330, otherwise obtain BIOS setup
2304*4882a593Smuzhiyun    [VIA686A/686B only]
2305*4882a593Smuzhiyunjoystick
2306*4882a593Smuzhiyun    Enable joystick (default off) [VIA686A/686B only]
2307*4882a593Smuzhiyunac97_clock
2308*4882a593Smuzhiyun    AC'97 codec clock base (default 48000Hz)
2309*4882a593Smuzhiyundxs_support
2310*4882a593Smuzhiyun    support DXS channels, 0 = auto (default), 1 = enable, 2 = disable,
2311*4882a593Smuzhiyun    3 = 48k only, 4 = no VRA, 5 = enable any sample rate and different
2312*4882a593Smuzhiyun    sample rates on different channels [VIA8233/C, 8235, 8237 only]
2313*4882a593Smuzhiyunac97_quirk
2314*4882a593Smuzhiyun    AC'97 workaround for strange hardware;
2315*4882a593Smuzhiyun    See `AC97 Quirk Option`_ section below.
2316*4882a593Smuzhiyun
2317*4882a593SmuzhiyunThis module supports one chip and autoprobe.
2318*4882a593Smuzhiyun
2319*4882a593SmuzhiyunNote: on some SMP motherboards like MSI 694D the interrupts might
2320*4882a593Smuzhiyunnot be generated properly.  In such a case, please try to
2321*4882a593Smuzhiyunset the SMP (or MPS) version on BIOS to 1.1 instead of
2322*4882a593Smuzhiyundefault value 1.4.  Then the interrupt number will be
2323*4882a593Smuzhiyunassigned under 15. You might also upgrade your BIOS.
2324*4882a593Smuzhiyun
2325*4882a593SmuzhiyunNote: VIA8233/5/7 (not VIA8233A) can support DXS (direct sound)
2326*4882a593Smuzhiyunchannels as the first PCM.  On these channels, up to 4
2327*4882a593Smuzhiyunstreams can be played at the same time, and the controller
2328*4882a593Smuzhiyuncan perform sample rate conversion with separate rates for
2329*4882a593Smuzhiyuneach channel.
2330*4882a593SmuzhiyunAs default (``dxs_support = 0``), 48k fixed rate is chosen
2331*4882a593Smuzhiyunexcept for the known devices since the output is often
2332*4882a593Smuzhiyunnoisy except for 48k on some mother boards due to the
2333*4882a593Smuzhiyunbug of BIOS.
2334*4882a593SmuzhiyunPlease try once ``dxs_support=5`` and if it works on other
2335*4882a593Smuzhiyunsample rates (e.g. 44.1kHz of mp3 playback), please let us
2336*4882a593Smuzhiyunknow the PCI subsystem vendor/device id's (output of
2337*4882a593Smuzhiyun``lspci -nv``).
2338*4882a593SmuzhiyunIf ``dxs_support=5`` does not work, try ``dxs_support=4``; if it
2339*4882a593Smuzhiyundoesn't work too, try dxs_support=1.  (dxs_support=1 is
2340*4882a593Smuzhiyunusually for old motherboards.  The correct implemented
2341*4882a593Smuzhiyunboard should work with 4 or 5.)  If it still doesn't
2342*4882a593Smuzhiyunwork and the default setting is ok, ``dxs_support=3`` is the
2343*4882a593Smuzhiyunright choice.  If the default setting doesn't work at all,
2344*4882a593Smuzhiyuntry ``dxs_support=2`` to disable the DXS channels.
2345*4882a593SmuzhiyunIn any cases, please let us know the result and the
2346*4882a593Smuzhiyunsubsystem vendor/device ids.  See `Links and Addresses`_
2347*4882a593Smuzhiyunbelow.
2348*4882a593Smuzhiyun
2349*4882a593SmuzhiyunNote: for the MPU401 on VIA823x, use snd-mpu401 driver
2350*4882a593Smuzhiyunadditionally.  The mpu_port option is for VIA686 chips only.
2351*4882a593Smuzhiyun
2352*4882a593SmuzhiyunThe power-management is supported.
2353*4882a593Smuzhiyun
2354*4882a593SmuzhiyunModule snd-via82xx-modem
2355*4882a593Smuzhiyun------------------------
2356*4882a593Smuzhiyun
2357*4882a593SmuzhiyunModule for VIA82xx AC97 modem
2358*4882a593Smuzhiyun
2359*4882a593Smuzhiyunac97_clock
2360*4882a593Smuzhiyun    AC'97 codec clock base (default 48000Hz)
2361*4882a593Smuzhiyun
2362*4882a593SmuzhiyunThis module supports one card and autoprobe.
2363*4882a593Smuzhiyun
2364*4882a593SmuzhiyunNote: The default index value of this module is -2, i.e. the first
2365*4882a593Smuzhiyunslot is excluded.
2366*4882a593Smuzhiyun
2367*4882a593SmuzhiyunThe power-management is supported.
2368*4882a593Smuzhiyun
2369*4882a593SmuzhiyunModule snd-virmidi
2370*4882a593Smuzhiyun------------------
2371*4882a593Smuzhiyun
2372*4882a593SmuzhiyunModule for virtual rawmidi devices.
2373*4882a593SmuzhiyunThis module creates virtual rawmidi devices which communicate
2374*4882a593Smuzhiyunto the corresponding ALSA sequencer ports.
2375*4882a593Smuzhiyun
2376*4882a593Smuzhiyunmidi_devs
2377*4882a593Smuzhiyun    MIDI devices # (1-4, default=4)
2378*4882a593Smuzhiyun
2379*4882a593SmuzhiyunThis module supports multiple cards.
2380*4882a593Smuzhiyun
2381*4882a593SmuzhiyunModule snd-virtuoso
2382*4882a593Smuzhiyun-------------------
2383*4882a593Smuzhiyun
2384*4882a593SmuzhiyunModule for sound cards based on the Asus AV66/AV100/AV200 chips,
2385*4882a593Smuzhiyuni.e., Xonar D1, DX, D2, D2X, DS, DSX, Essence ST (Deluxe),
2386*4882a593SmuzhiyunEssence STX (II), HDAV1.3 (Deluxe), and HDAV1.3 Slim.
2387*4882a593Smuzhiyun
2388*4882a593SmuzhiyunThis module supports autoprobe and multiple cards.
2389*4882a593Smuzhiyun
2390*4882a593SmuzhiyunModule snd-vx222
2391*4882a593Smuzhiyun----------------
2392*4882a593Smuzhiyun
2393*4882a593SmuzhiyunModule for Digigram VX-Pocket VX222, V222 v2 and Mic cards.
2394*4882a593Smuzhiyun
2395*4882a593Smuzhiyunmic
2396*4882a593Smuzhiyun    Enable Microphone on V222 Mic (NYI)
2397*4882a593Smuzhiyunibl
2398*4882a593Smuzhiyun    Capture IBL size. (default = 0, minimum size)
2399*4882a593Smuzhiyun
2400*4882a593SmuzhiyunThis module supports multiple cards.
2401*4882a593Smuzhiyun
2402*4882a593SmuzhiyunWhen the driver is compiled as a module and the hotplug firmware
2403*4882a593Smuzhiyunis supported, the firmware data is loaded via hotplug automatically.
2404*4882a593SmuzhiyunInstall the necessary firmware files in alsa-firmware package.
2405*4882a593SmuzhiyunWhen no hotplug fw loader is available, you need to load the
2406*4882a593Smuzhiyunfirmware via vxloader utility in alsa-tools package.  To invoke
2407*4882a593Smuzhiyunvxloader automatically, add the following to /etc/modprobe.d/alsa.conf
2408*4882a593Smuzhiyun
2409*4882a593Smuzhiyun::
2410*4882a593Smuzhiyun
2411*4882a593Smuzhiyun  install snd-vx222 /sbin/modprobe --first-time -i snd-vx222\
2412*4882a593Smuzhiyun    && /usr/bin/vxloader
2413*4882a593Smuzhiyun
2414*4882a593Smuzhiyun(for 2.2/2.4 kernels, add ``post-install /usr/bin/vxloader`` to
2415*4882a593Smuzhiyun/etc/modules.conf, instead.)
2416*4882a593SmuzhiyunIBL size defines the interrupts period for PCM.  The smaller size
2417*4882a593Smuzhiyungives smaller latency but leads to more CPU consumption, too.
2418*4882a593SmuzhiyunThe size is usually aligned to 126.  As default (=0), the smallest
2419*4882a593Smuzhiyunsize is chosen.  The possible IBL values can be found in
2420*4882a593Smuzhiyun/proc/asound/cardX/vx-status proc file.
2421*4882a593Smuzhiyun
2422*4882a593SmuzhiyunThe power-management is supported.
2423*4882a593Smuzhiyun
2424*4882a593SmuzhiyunModule snd-vxpocket
2425*4882a593Smuzhiyun-------------------
2426*4882a593Smuzhiyun
2427*4882a593SmuzhiyunModule for Digigram VX-Pocket VX2 and 440 PCMCIA cards.
2428*4882a593Smuzhiyun
2429*4882a593Smuzhiyunibl
2430*4882a593Smuzhiyun    Capture IBL size. (default = 0, minimum size)
2431*4882a593Smuzhiyun
2432*4882a593SmuzhiyunThis module supports multiple cards.  The module is compiled only when
2433*4882a593SmuzhiyunPCMCIA is supported on kernel.
2434*4882a593Smuzhiyun
2435*4882a593SmuzhiyunWith the older 2.6.x kernel, to activate the driver via the card
2436*4882a593Smuzhiyunmanager, you'll need to set up /etc/pcmcia/vxpocket.conf.  See the
2437*4882a593Smuzhiyunsound/pcmcia/vx/vxpocket.c.  2.6.13 or later kernel requires no
2438*4882a593Smuzhiyunlonger require a config file.
2439*4882a593Smuzhiyun
2440*4882a593SmuzhiyunWhen the driver is compiled as a module and the hotplug firmware
2441*4882a593Smuzhiyunis supported, the firmware data is loaded via hotplug automatically.
2442*4882a593SmuzhiyunInstall the necessary firmware files in alsa-firmware package.
2443*4882a593SmuzhiyunWhen no hotplug fw loader is available, you need to load the
2444*4882a593Smuzhiyunfirmware via vxloader utility in alsa-tools package.
2445*4882a593Smuzhiyun
2446*4882a593SmuzhiyunAbout capture IBL, see the description of snd-vx222 module.
2447*4882a593Smuzhiyun
2448*4882a593SmuzhiyunNote: snd-vxp440 driver is merged to snd-vxpocket driver since
2449*4882a593SmuzhiyunALSA 1.0.10.
2450*4882a593Smuzhiyun
2451*4882a593SmuzhiyunThe power-management is supported.
2452*4882a593Smuzhiyun
2453*4882a593SmuzhiyunModule snd-ymfpci
2454*4882a593Smuzhiyun-----------------
2455*4882a593Smuzhiyun
2456*4882a593SmuzhiyunModule for Yamaha PCI chips (YMF72x, YMF74x & YMF75x).
2457*4882a593Smuzhiyun
2458*4882a593Smuzhiyunmpu_port
2459*4882a593Smuzhiyun    0x300,0x330,0x332,0x334, 0 (disable) by default,
2460*4882a593Smuzhiyun    1 (auto-detect for YMF744/754 only)
2461*4882a593Smuzhiyunfm_port
2462*4882a593Smuzhiyun    0x388,0x398,0x3a0,0x3a8, 0 (disable) by default
2463*4882a593Smuzhiyun    1 (auto-detect for YMF744/754 only)
2464*4882a593Smuzhiyunjoystick_port
2465*4882a593Smuzhiyun    0x201,0x202,0x204,0x205, 0 (disable) by default,
2466*4882a593Smuzhiyun    1 (auto-detect)
2467*4882a593Smuzhiyunrear_switch
2468*4882a593Smuzhiyun    enable shared rear/line-in switch (bool)
2469*4882a593Smuzhiyun
2470*4882a593SmuzhiyunThis module supports autoprobe and multiple chips.
2471*4882a593Smuzhiyun
2472*4882a593SmuzhiyunThe power-management is supported.
2473*4882a593Smuzhiyun
2474*4882a593SmuzhiyunModule snd-pdaudiocf
2475*4882a593Smuzhiyun--------------------
2476*4882a593Smuzhiyun
2477*4882a593SmuzhiyunModule for Sound Core PDAudioCF sound card.
2478*4882a593Smuzhiyun
2479*4882a593SmuzhiyunThe power-management is supported.
2480*4882a593Smuzhiyun
2481*4882a593Smuzhiyun
2482*4882a593SmuzhiyunAC97 Quirk Option
2483*4882a593Smuzhiyun=================
2484*4882a593Smuzhiyun
2485*4882a593SmuzhiyunThe ac97_quirk option is used to enable/override the workaround for
2486*4882a593Smuzhiyunspecific devices on drivers for on-board AC'97 controllers like
2487*4882a593Smuzhiyunsnd-intel8x0.  Some hardware have swapped output pins between Master
2488*4882a593Smuzhiyunand Headphone, or Surround (thanks to confusion of AC'97
2489*4882a593Smuzhiyunspecifications from version to version :-)
2490*4882a593Smuzhiyun
2491*4882a593SmuzhiyunThe driver provides the auto-detection of known problematic devices,
2492*4882a593Smuzhiyunbut some might be unknown or wrongly detected.  In such a case, pass
2493*4882a593Smuzhiyunthe proper value with this option.
2494*4882a593Smuzhiyun
2495*4882a593SmuzhiyunThe following strings are accepted:
2496*4882a593Smuzhiyun
2497*4882a593Smuzhiyundefault
2498*4882a593Smuzhiyun    Don't override the default setting
2499*4882a593Smuzhiyunnone
2500*4882a593Smuzhiyun    Disable the quirk
2501*4882a593Smuzhiyunhp_only
2502*4882a593Smuzhiyun    Bind Master and Headphone controls as a single control
2503*4882a593Smuzhiyunswap_hp
2504*4882a593Smuzhiyun    Swap headphone and master controls
2505*4882a593Smuzhiyunswap_surround
2506*4882a593Smuzhiyun    Swap master and surround controls
2507*4882a593Smuzhiyunad_sharing
2508*4882a593Smuzhiyun    For AD1985, turn on OMS bit and use headphone
2509*4882a593Smuzhiyunalc_jack
2510*4882a593Smuzhiyun    For ALC65x, turn on the jack sense mode
2511*4882a593Smuzhiyuninv_eapd
2512*4882a593Smuzhiyun    Inverted EAPD implementation
2513*4882a593Smuzhiyunmute_led
2514*4882a593Smuzhiyun    Bind EAPD bit for turning on/off mute LED
2515*4882a593Smuzhiyun
2516*4882a593SmuzhiyunFor backward compatibility, the corresponding integer value -1, 0, ...
2517*4882a593Smuzhiyunare  accepted, too.
2518*4882a593Smuzhiyun
2519*4882a593SmuzhiyunFor example, if ``Master`` volume control has no effect on your device
2520*4882a593Smuzhiyunbut only ``Headphone`` does, pass ac97_quirk=hp_only module option.
2521*4882a593Smuzhiyun
2522*4882a593Smuzhiyun
2523*4882a593SmuzhiyunConfiguring Non-ISAPNP Cards
2524*4882a593Smuzhiyun============================
2525*4882a593Smuzhiyun
2526*4882a593SmuzhiyunWhen the kernel is configured with ISA-PnP support, the modules
2527*4882a593Smuzhiyunsupporting the isapnp cards will have module options ``isapnp``.
2528*4882a593SmuzhiyunIf this option is set, *only* the ISA-PnP devices will be probed.
2529*4882a593SmuzhiyunFor probing the non ISA-PnP cards, you have to pass ``isapnp=0`` option
2530*4882a593Smuzhiyuntogether with the proper i/o and irq configuration.
2531*4882a593Smuzhiyun
2532*4882a593SmuzhiyunWhen the kernel is configured without ISA-PnP support, isapnp option
2533*4882a593Smuzhiyunwill be not built in.
2534*4882a593Smuzhiyun
2535*4882a593Smuzhiyun
2536*4882a593SmuzhiyunModule Autoloading Support
2537*4882a593Smuzhiyun==========================
2538*4882a593Smuzhiyun
2539*4882a593SmuzhiyunThe ALSA drivers can be loaded automatically on demand by defining
2540*4882a593Smuzhiyunmodule aliases.  The string ``snd-card-%1`` is requested for ALSA native
2541*4882a593Smuzhiyundevices where ``%i`` is sound card number from zero to seven.
2542*4882a593Smuzhiyun
2543*4882a593SmuzhiyunTo auto-load an ALSA driver for OSS services, define the string
2544*4882a593Smuzhiyun``sound-slot-%i`` where ``%i`` means the slot number for OSS, which
2545*4882a593Smuzhiyuncorresponds to the card index of ALSA.  Usually, define this
2546*4882a593Smuzhiyunas the same card module.
2547*4882a593Smuzhiyun
2548*4882a593SmuzhiyunAn example configuration for a single emu10k1 card is like below:
2549*4882a593Smuzhiyun::
2550*4882a593Smuzhiyun
2551*4882a593Smuzhiyun    ----- /etc/modprobe.d/alsa.conf
2552*4882a593Smuzhiyun    alias snd-card-0 snd-emu10k1
2553*4882a593Smuzhiyun    alias sound-slot-0 snd-emu10k1
2554*4882a593Smuzhiyun    ----- /etc/modprobe.d/alsa.conf
2555*4882a593Smuzhiyun
2556*4882a593SmuzhiyunThe available number of auto-loaded sound cards depends on the module
2557*4882a593Smuzhiyunoption ``cards_limit`` of snd module.  As default it's set to 1.
2558*4882a593SmuzhiyunTo enable the auto-loading of multiple cards, specify the number of
2559*4882a593Smuzhiyunsound cards in that option.
2560*4882a593Smuzhiyun
2561*4882a593SmuzhiyunWhen multiple cards are available, it'd better to specify the index
2562*4882a593Smuzhiyunnumber for each card via module option, too, so that the order of
2563*4882a593Smuzhiyuncards is kept consistent.
2564*4882a593Smuzhiyun
2565*4882a593SmuzhiyunAn example configuration for two sound cards is like below:
2566*4882a593Smuzhiyun::
2567*4882a593Smuzhiyun
2568*4882a593Smuzhiyun    ----- /etc/modprobe.d/alsa.conf
2569*4882a593Smuzhiyun    # ALSA portion
2570*4882a593Smuzhiyun    options snd cards_limit=2
2571*4882a593Smuzhiyun    alias snd-card-0 snd-interwave
2572*4882a593Smuzhiyun    alias snd-card-1 snd-ens1371
2573*4882a593Smuzhiyun    options snd-interwave index=0
2574*4882a593Smuzhiyun    options snd-ens1371 index=1
2575*4882a593Smuzhiyun    # OSS/Free portion
2576*4882a593Smuzhiyun    alias sound-slot-0 snd-interwave
2577*4882a593Smuzhiyun    alias sound-slot-1 snd-ens1371
2578*4882a593Smuzhiyun    ----- /etc/modprobe.d/alsa.conf
2579*4882a593Smuzhiyun
2580*4882a593SmuzhiyunIn this example, the interwave card is always loaded as the first card
2581*4882a593Smuzhiyun(index 0) and ens1371 as the second (index 1).
2582*4882a593Smuzhiyun
2583*4882a593SmuzhiyunAlternative (and new) way to fixate the slot assignment is to use
2584*4882a593Smuzhiyun``slots`` option of snd module.  In the case above, specify like the
2585*4882a593Smuzhiyunfollowing:
2586*4882a593Smuzhiyun::
2587*4882a593Smuzhiyun
2588*4882a593Smuzhiyun    options snd slots=snd-interwave,snd-ens1371
2589*4882a593Smuzhiyun
2590*4882a593SmuzhiyunThen, the first slot (#0) is reserved for snd-interwave driver, and
2591*4882a593Smuzhiyunthe second (#1) for snd-ens1371.  You can omit index option in each
2592*4882a593Smuzhiyundriver if slots option is used (although you can still have them at
2593*4882a593Smuzhiyunthe same time as long as they don't conflict).
2594*4882a593Smuzhiyun
2595*4882a593SmuzhiyunThe slots option is especially useful for avoiding the possible
2596*4882a593Smuzhiyunhot-plugging and the resultant slot conflict.  For example, in the
2597*4882a593Smuzhiyuncase above again, the first two slots are already reserved.  If any
2598*4882a593Smuzhiyunother driver (e.g. snd-usb-audio) is loaded before snd-interwave or
2599*4882a593Smuzhiyunsnd-ens1371, it will be assigned to the third or later slot.
2600*4882a593Smuzhiyun
2601*4882a593SmuzhiyunWhen a module name is given with '!', the slot will be given for any
2602*4882a593Smuzhiyunmodules but that name.  For example, ``slots=!snd-pcsp`` will reserve
2603*4882a593Smuzhiyunthe first slot for any modules but snd-pcsp.
2604*4882a593Smuzhiyun
2605*4882a593Smuzhiyun
2606*4882a593SmuzhiyunALSA PCM devices to OSS devices mapping
2607*4882a593Smuzhiyun=======================================
2608*4882a593Smuzhiyun::
2609*4882a593Smuzhiyun
2610*4882a593Smuzhiyun    /dev/snd/pcmC0D0[c|p]  -> /dev/audio0 (/dev/audio) -> minor 4
2611*4882a593Smuzhiyun    /dev/snd/pcmC0D0[c|p]  -> /dev/dsp0 (/dev/dsp)     -> minor 3
2612*4882a593Smuzhiyun    /dev/snd/pcmC0D1[c|p]  -> /dev/adsp0 (/dev/adsp)   -> minor 12
2613*4882a593Smuzhiyun    /dev/snd/pcmC1D0[c|p]  -> /dev/audio1              -> minor 4+16 = 20
2614*4882a593Smuzhiyun    /dev/snd/pcmC1D0[c|p]  -> /dev/dsp1                -> minor 3+16 = 19
2615*4882a593Smuzhiyun    /dev/snd/pcmC1D1[c|p]  -> /dev/adsp1               -> minor 12+16 = 28
2616*4882a593Smuzhiyun    /dev/snd/pcmC2D0[c|p]  -> /dev/audio2              -> minor 4+32 = 36
2617*4882a593Smuzhiyun    /dev/snd/pcmC2D0[c|p]  -> /dev/dsp2                -> minor 3+32 = 39
2618*4882a593Smuzhiyun    /dev/snd/pcmC2D1[c|p]  -> /dev/adsp2               -> minor 12+32 = 44
2619*4882a593Smuzhiyun
2620*4882a593SmuzhiyunThe first number from ``/dev/snd/pcmC{X}D{Y}[c|p]`` expression means
2621*4882a593Smuzhiyunsound card number and second means device number.  The ALSA devices
2622*4882a593Smuzhiyunhave either ``c`` or ``p`` suffix indicating the direction, capture and
2623*4882a593Smuzhiyunplayback, respectively.
2624*4882a593Smuzhiyun
2625*4882a593SmuzhiyunPlease note that the device mapping above may be varied via the module
2626*4882a593Smuzhiyunoptions of snd-pcm-oss module.
2627*4882a593Smuzhiyun
2628*4882a593Smuzhiyun
2629*4882a593SmuzhiyunProc interfaces (/proc/asound)
2630*4882a593Smuzhiyun==============================
2631*4882a593Smuzhiyun
2632*4882a593Smuzhiyun/proc/asound/card#/pcm#[cp]/oss
2633*4882a593Smuzhiyun-------------------------------
2634*4882a593Smuzhiyunerase
2635*4882a593Smuzhiyun    erase all additional information about OSS applications
2636*4882a593Smuzhiyun
2637*4882a593Smuzhiyun<app_name> <fragments> <fragment_size> [<options>]
2638*4882a593Smuzhiyun    <app_name>
2639*4882a593Smuzhiyun	name of application with (higher priority) or without path
2640*4882a593Smuzhiyun    <fragments>
2641*4882a593Smuzhiyun	 number of fragments or zero if auto
2642*4882a593Smuzhiyun    <fragment_size>
2643*4882a593Smuzhiyun	 size of fragment in bytes or zero if auto
2644*4882a593Smuzhiyun    <options>
2645*4882a593Smuzhiyun	optional parameters
2646*4882a593Smuzhiyun
2647*4882a593Smuzhiyun	disable
2648*4882a593Smuzhiyun	    the application tries to open a pcm device for
2649*4882a593Smuzhiyun	    this channel but does not want to use it.
2650*4882a593Smuzhiyun	    (Cause a bug or mmap needs)
2651*4882a593Smuzhiyun	    It's good for Quake etc...
2652*4882a593Smuzhiyun	direct
2653*4882a593Smuzhiyun	    don't use plugins
2654*4882a593Smuzhiyun	block
2655*4882a593Smuzhiyun	     force block mode (rvplayer)
2656*4882a593Smuzhiyun	non-block
2657*4882a593Smuzhiyun	    force non-block mode
2658*4882a593Smuzhiyun	whole-frag
2659*4882a593Smuzhiyun	    write only whole fragments (optimization affecting
2660*4882a593Smuzhiyun	    playback only)
2661*4882a593Smuzhiyun	no-silence
2662*4882a593Smuzhiyun	    do not fill silence ahead to avoid clicks
2663*4882a593Smuzhiyun	buggy-ptr
2664*4882a593Smuzhiyun	    Returns the whitespace blocks in GETOPTR ioctl
2665*4882a593Smuzhiyun	    instead of filled blocks
2666*4882a593Smuzhiyun
2667*4882a593SmuzhiyunExample:
2668*4882a593Smuzhiyun::
2669*4882a593Smuzhiyun
2670*4882a593Smuzhiyun    echo "x11amp 128 16384" > /proc/asound/card0/pcm0p/oss
2671*4882a593Smuzhiyun    echo "squake 0 0 disable" > /proc/asound/card0/pcm0c/oss
2672*4882a593Smuzhiyun    echo "rvplayer 0 0 block" > /proc/asound/card0/pcm0p/oss
2673*4882a593Smuzhiyun
2674*4882a593Smuzhiyun
2675*4882a593SmuzhiyunEarly Buffer Allocation
2676*4882a593Smuzhiyun=======================
2677*4882a593Smuzhiyun
2678*4882a593SmuzhiyunSome drivers (e.g. hdsp) require the large contiguous buffers, and
2679*4882a593Smuzhiyunsometimes it's too late to find such spaces when the driver module is
2680*4882a593Smuzhiyunactually loaded due to memory fragmentation.  You can pre-allocate the
2681*4882a593SmuzhiyunPCM buffers by loading snd-page-alloc module and write commands to its
2682*4882a593Smuzhiyunproc file in prior, for example, in the early boot stage like
2683*4882a593Smuzhiyun``/etc/init.d/*.local`` scripts.
2684*4882a593Smuzhiyun
2685*4882a593SmuzhiyunReading the proc file /proc/drivers/snd-page-alloc shows the current
2686*4882a593Smuzhiyunusage of page allocation.  In writing, you can send the following
2687*4882a593Smuzhiyuncommands to the snd-page-alloc driver:
2688*4882a593Smuzhiyun
2689*4882a593Smuzhiyun* add VENDOR DEVICE MASK SIZE BUFFERS
2690*4882a593Smuzhiyun
2691*4882a593SmuzhiyunVENDOR and DEVICE are PCI vendor and device IDs.  They take
2692*4882a593Smuzhiyuninteger numbers (0x prefix is needed for the hex).
2693*4882a593SmuzhiyunMASK is the PCI DMA mask.  Pass 0 if not restricted.
2694*4882a593SmuzhiyunSIZE is the size of each buffer to allocate.  You can pass
2695*4882a593Smuzhiyunk and m suffix for KB and MB.  The max number is 16MB.
2696*4882a593SmuzhiyunBUFFERS is the number of buffers to allocate.  It must be greater
2697*4882a593Smuzhiyunthan 0.  The max number is 4.
2698*4882a593Smuzhiyun
2699*4882a593Smuzhiyun* erase
2700*4882a593Smuzhiyun
2701*4882a593SmuzhiyunThis will erase the all pre-allocated buffers which are not in
2702*4882a593Smuzhiyunuse.
2703*4882a593Smuzhiyun
2704*4882a593Smuzhiyun
2705*4882a593SmuzhiyunLinks and Addresses
2706*4882a593Smuzhiyun===================
2707*4882a593Smuzhiyun
2708*4882a593SmuzhiyunALSA project homepage
2709*4882a593Smuzhiyun    http://www.alsa-project.org
2710*4882a593SmuzhiyunKernel Bugzilla
2711*4882a593Smuzhiyun    http://bugzilla.kernel.org/
2712*4882a593SmuzhiyunALSA Developers ML
2713*4882a593Smuzhiyun    mailto:alsa-devel@alsa-project.org
2714*4882a593Smuzhiyunalsa-info.sh script
2715*4882a593Smuzhiyun    https://www.alsa-project.org/alsa-info.sh
2716